作者文章归档:陈海峰

[ Django中间件解析 ]


源码解析

1.刚开始会获取settings.py里配置的中间件 reversed反向

for middleware_path in reversed(settings.MIDDLEWARE):

2.process_view 添加到<视图中间件>列表前面 3.process_template_response 添加到<模板中间件>列表后面 4.process_exception 添加到<异常中间>件列表后面

if hasattr(mw_instance, "process_view"):
    # 1. 中间件存在方法proce

< Read more >

[ celery-django基本配置 ]


Celery官方文档

@app.task()

 通过使用app.task()装饰器,您可以轻松地从任何可调用的对象创建任务: 
from .models import User

@app.task
def create_user(username, password):
    User.objects.create(username=username, password=password)

 还可以为任务设置许多选项,这些选项可以指定为装饰器的参数:
 @app.task(serializer='json')
def create_user(username, passw

< Read more >

[ mysql-docker基础版 ]


官方文档

# 拉取mysql8
docker pull mysql

# 数据
-v /my/own/datadir:/var/lib/mysql

# 配置 (一般情况下会读取此文件夹下的.cnf文件)
MySQL的默认配置可以在/etc/MySQL/my.cnf中找到,可能!
包括其他目录,如/etc/mysql/conf.d或/etc/mysql/mysql.conf.d。请检查mysql映像中的相关文件和目录以了解更多详细信息。
如果/my/custom/config-file.cnf是您的自定义配置文件的路径和名称,您可以这样启动您的mysql容器(请注意,此命令中只使用自定义配置文

< Read more >

[ redis-docker基础版 ]


官方文档

#  默认端口
 6379
# 运行
docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf

# 配置文件地址
/usr/local/etc/redis/redis.conf

# 书记保存地址
-v /docker/host/dir:/data

# 一般情况下会指定客户端文件运行
[ "redis-server", "/usr/local/etc/redis/redis.con

< Read more >

[ Whoosh原生Python全文检索 ]


Whoosh全文检索-Django配置

(https://django-haystack.readthedocs.io/en/master/tutorial.html#installation "haystack文档参考")

一. 安装

    pip install django-haystack
    pip install whoosh
    pip install jieba

二. 配置

  1. 创建一个新的app, 并在app目录下创建

    search_indexes.py 名字固定写法

from haystack import indexes
from article.mod

< Read more >

[ DRF生成API文档drf-yasg ]


drf-yasg官方文档

如果你想为一个新项目添加Swagger/OpenAPI支持,你可能想看看drf-spectacular,这是一个积极维护的新库, 共享该项目的大部分目标,同时使用 OpenAPI 3.0 模式。

OpenAPI 3.0 在可以描述的 API 类型方面提供了比 2.0 更大的灵活性。 不太可能很快(如果有的话)获得对OpenAPI 3.0的支持。drf-yasg

一. 安装

pip install -U drf-yasg

此外,如果要使用内置验证机制(请参阅 4.验证),您需要安装 一些额外的要求:
pip install -U drf-yasg[validation

< Read more >