优化 Django的查询

好吧,必须先说。 Django 是您可以使用的最漂亮的框架之一。 它提供了引擎盖下的一切,但正如本叔叔常说的:

不正确或不正确地使用事物可能会导致很多问题。 所以让我们继续看看一些 Django 查询以及它在不同条件下的执行情况。

下面讨论的所有 Django 查询都应用于没有索引的基准表。 这是它的结构。

万一,如果你想在桌子上玩,你可以在这里克隆 Django 应用程序

在触发查询之前,我已经在数据库表中插入了 200 万条记录。 您可以在[……]

继续阅读

python中代码运行的困惑

网上看到的代码:

输出是[1,2,3],并不是一个空列表,是不是很奇怪?

首先=号是赋值,而不是改变原列表内容,所以在函数内只是赋值而已,因为在函数内所以 l只是内部变量,函数运行完就消失了,也就是说函数内的变量只是作用域在函数内,所以当函数运行完,并不影响 函数外定义的值,输出仍然是[1,2,3], 如果想实现清除列表功能,改成l.clear()就可以

 [……]

继续阅读

自定义异常为什么不从BaseException继承

自定义一个异常需要继承Exception类或子类,虽然BaseException是Exception的父类,但如果继承BaseException可能会导致捕获不到自定义的异常,来看个例子:

y运行这段代码会进行报错,没有捕获到我们自定义的异常,改成继承Exception就可以正常捕获了,如下:

自定义错误信息:

就是在初始化的时候传入错误内容, 然后实例化这个类, 这个e就是实例化后的对[……]

继续阅读

使用acme.sh更新不了证书的问题解决

最近使用acme.sh更新证书的时候,一直出现这个错误提示:

Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60

找了下问题,原来是Lets Encrypt acme serve 更改了它在9月30日使用的证书链,以更好地解决DST根CA X3根证书过期的问题。

说是最好把证书下到本机里,如果紧急要用,可以在acme.sh后加个参数解决,这是官方的说明,意思是用了可以,但非常的不安全:

[[……]

继续阅读

如何在Django中创建自己的自定义用户模型?

本文将帮助大家在Django中创建自己的自定义用户模型

自定义用户模型有什么需求?
创建自己的自定义用户模型至关重要。 将来,如果要对模型进行一些更改,则可以轻松进行这些更改。 不然我们可能必须对模型进行一些更改,而且代码的某些部分也将被更改。 在某些网站中,与用户名相比,使用电子邮件进行登录是有意义的。 因此,对于程序员而言,拥有自定义用户模型是一个好习惯。

本文将帮助大家根据需要创建自己的自定义用户模型。 请继续执行以下步骤。

  1. Django 安装
  2. .创建Django应用
  3. 该应用程序的自定义模型
  4. 迁移数据库

1. Django安装
设置Dja[……]

继续阅读

如何在Django中创建自定义命令?

在开发Django项目时,有时候需要编写一次性脚本来自动化特定任务。
例如:
1、清理错误的数据列
2、导入初始数据库数据
我们可以通过两种方式在django中运行这些类型的命令。第一是编写一个普通的python脚本,然后可以通过运行python file_name.py来调用它,而另一个方法是使用django-admin命令。这些是通过调用python manage.py command_name运行的。

对于这篇文章,我将通过一个博客应用程序进行演示,该应用程序只有3个数据库表:User,Category和Post。

普通的python脚本方法
对于第一个示例,我们将[……]

继续阅读

Django模型备忘单

Django模型的基本备忘单
有时,使用精简版本的高度详细的信息会很有用。

该资源主要供那些定期建立模型,对Django模型的概念感到满意并希望合并可用于模型的大多数事物的人使用。 我经常使用它,并且因为我通常不需要查找完整的文档,因此节省了很多时间。 我可以一眼看出特定字段,元类选项,QuerySet等的外观。

我以前曾在其他地方发布过此版本的先前版本,因此您可能会看到类似的内容,但这是最新且最新的版本。

我希望你觉得这有帮助。

原文:https://jacklinke.com/2021/web/che[……]

继续阅读

Django How to Filter QuerySets Dynamically using django-filter

This tutorial is about how to use the django-filter to add a filtering to your views

I will implement a view to search for users.

Installation
install it with pip:

pip install django-filter settings.py

filters.py

views[……]

继续阅读

Celery+django如何显示任务的执行进度条

Celery单词中文的意思是“芹菜”,也不知道为什么人家喜欢给起个菜名,实际从功能上跟芹菜一点也扯不上关系,非得往上靠难道国外吃芹菜是在后面吃?大家都知道,如果我们在后端执行一个时间比较长的任务,比如超过10分钟任务都没执行完,这个时候如果让用户在前端页面等待,那是非常恐怖的事情,比如用户点了个执行数据库备份的功能脚本,后台马上执行不完,前端用户就会一直等待,直到备份任务全部完成,天知道什么时候能完成,如果这个时候下班了,你走不走? 所以对一些比较耗时的任务,让用户在前端等待这个不可取,那怎么解决这些问题呢,这个呢,就用到我们刚才说的芹菜的功能了,celery是Python开发的分布式任务调度[……]

继续阅读

记一次生产环境问题排查(k8s环境)

本文为原创文章,转载请注明出处,否则追究责任。

最近线上生产环境出现一些问题,经过排查后进行了解决,记录下来便于总结。

 

问题1:

最近研发新上一个微服务,上线后启动了6个Pod,运行一段时间后一直很稳定,但有一天用户访问有问题,在手机端打开直接提示“网络错误”。

分析解决:

对于这个报错,研发那边的反馈是运维环境有问题,网络不稳定造成的,但我们实际的生产环境是在K8s上,每个node都在一个网络内,而且都是内网通讯,如果是网络原因,那应该也会影响其他项目的pod,但从现象看,别的同Node节点的服务运行稳定,查了日志,也没有任何报错,后来经过排[……]

继续阅读