django使用channel时操作数据库过一段时间后报错django.db.utils.InterfaceError: (0, '')

背景使用django的channel来实现websocket在websocket通信时后台操作了数据库modelschannel使用的是异步模式(async)运行一段时间后报错django.db.utils.InterfaceError: (0, '') 解决方法将数据库ORM操作放在独立函数里,并加上装饰器@database_sync_to_async,调用时加上await即可原来clas...

Python,Django,bug记录 2022-03-19 PM 226次 0条

django使用channel时的docker部署方法

背景因为要在django使用websocket所以引入了channel在不引入channel前使用docker+uwsgi+nginx部署引入channel后使用docker+uwsgi+daphne+nginx部署以下教程均在原有部署基础上(不使用channel)所做修改方法在原有基础上增加docker-compose.yml配置,增加后配置如下:version: "3"...

Django,Linux,部署 2022-03-03 PM 268次 1条

django使用django-redis取不到数据的坑

背景用django-redis做缓存时,另一个项目使用原生redis直接连接同一个redis做数据共享时取不到数据原因测试发现django-redis从数据存取时,key会自动加个:1:前缀解决方式方式一适配django-redis,另一个项目存取时也加前缀方式二两个项目均使用原生redis库方式三重写缓存键转换函数并在setting.py配置KEY_FUNCTION# setting.py...

Django,bug记录,技术 2021-12-28 AM 227次 0条

django知识库

https://www.dusaiphoto.com/article/78/

Python,Django,技术 2021-12-01 PM 231次 0条

django使用inspectdb反向生成数据库model时默认也生成视图

背景django直接使用python manage.py inspectdb反向生成数据库model,默认是只会反向生成数据库表的model,而不会生成数据库视图的model解决方法可通过添加参数 --include-views实现生成时也生成视图的modelpython manage.py inspectdb --include-views > app/models.py参考:htt...

Python,Django 2021-11-16 AM 233次 0条

解决django_crontab打印的日志不是实时的问题

背景# 定时任务 CRONJOBS = [ ('* * * * *', 'app.xxx.xxx.main', '>>/var/log/xxx.log') ]仅仅这样配置,使用print打印到xxx.log的日志不是实时的。解决方法配置加入CRONTAB_COMMAND_PREFIX = 'PYTHONUNBUFFERED=1'# 定时任务 CRONJOBS = [ ...

Python,shell,Django 2021-11-15 PM 242次 0条

django_crontab禁止同一时间重复运行(并发运行)

背景有时候设置django定时任务定时时间为每分钟执行,上一次任务还没执行完下一次任务又会开始。解决方式django配置中加入CRONTAB_LOCK_JOBS = True# setting.py # 定时任务 CRONJOBS = [ ('* * * * *', 'app.xxx.xxx.main', '>>/var/log/xxx.log') ] # 定时任务如果...

Python,Django 2021-11-15 AM 238次 0条

django信号的应用场景

https://www.dusaiphoto.com/article/138/

Django,技术 2021-11-09 PM 263次 0条