django
文章平均质量分 86
木子林_
博客是用来做笔记的
展开
-
django源码解读: setting懒加载
前言上次我们了解了django启动原理,细心的朋友可能发现django中的setting配置文件加载时懒加载,接下来我们了解下setting的懒加载懒加载我们从manager.py进入management/__init__.py,我们可以看到导入有这个from django.conf import settings,我们进入setting后就可以看到懒加载源码class LazySettings(LazyObject): """ 全局Django设置或自定义设置对象的惰性代原创 2021-01-24 14:56:48 · 1758 阅读 · 8 评论 -
supervisor使用教程(django例子)
前言Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设原创 2021-01-23 19:42:43 · 2600 阅读 · 8 评论 -
django源码解读:项目启动流程
启动代码流程1- 先看下manager.pydef main(): "Run administrative tasks.""" # set djangoStu.settings become django of run env # 将settings模块设置到环境变量中 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoStu.settings') try: from dj...原创 2021-01-11 09:36:35 · 3245 阅读 · 8 评论 -
python缓存机制与functools.lru_cache
前言前阵子看了下django源码,在看到get_commads()方法时,看到了使用functools.lru_cache装饰器来实现缓存,现在我们简单讲解下。概述缓存是一种将定量数据加以保存以备迎合后续获取需求的处理方式,旨在加快数据获取的速度。数据的生成过程可能需要经过计算,规整,远程获取等操作,如果是同一份数据需要多次使用,每次都重新生成会大大浪费时间。所以,如果将计算或者远程请求等操作获得的数据缓存下来,会加快后续的数据获取需求。简单例子import timefrom fun原创 2021-01-11 09:36:09 · 2919 阅读 · 0 评论 -
django报错汇总
django启动报:'str' object has no attribute 'decode'解决: 146行将将decode修改成encode原创 2020-12-04 20:56:27 · 1221 阅读 · 2 评论 -
django使用uWSGI和nginx启动
前言python程序员一般在本地写代码时候,无论是用pycharm还是终端我们都是使用runserver启动来调试的,今天我们来了解下另外一种(线上部署)启动方式:通过uwsgi启动runserver:调试 Django 时经常用到的运行方式,它使用Django自带的WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程(多线程)uWSGI: Web服务器,它实现了WSGI协议、uwsgi、http 等协议。注意uwsgi是一种通信协议,而uWSG.原创 2020-11-30 09:08:51 · 2535 阅读 · 2 评论 -
mysql报 index column size too large. the maximum column size is 767 bytes错误解决
错误发生背景今天django执行python manage.py migrate 结果报 Specified key was too long; max key length is 767 bytes 经过简单的分析是字符串长度大于767bytes,后来网上查询处理后面报 :index column size too large. the maximum column size is 767 bytes解决处理经网上的说法修改innodb_file_format 和 innodb_large_.原创 2020-11-21 13:37:47 · 3763 阅读 · 0 评论 -
django rest framework serializers小结
引言 serializers是什么?官网是这样的”Serializers allow complex data such as querysets and model instances to be converted to native Python datatypes that can then be easily rendered into JSON, XML or other cont...转载 2020-04-02 13:42:43 · 1276 阅读 · 0 评论 -
django执行原生sql语句封装返回字典格式
django执行原生的sql语句一般返回元祖,这对于我们使用还是有一定不方便的,所以我们可以对返回数据进行封装字典,可以通过键取数据这样方便我们理解查询返回数据,下面直接上代码# -*- coding: utf-8 -*-from django.db import connectiondef queryDict(sql, params=None): ''' 查询结果返回...原创 2020-03-31 11:53:19 · 1760 阅读 · 0 评论