Django零散知识点
qq_41134008
我是一个菜鸟..............
展开
-
django——自定义模型管理器——后续完成细节
1问:模型类.objects.all() 中objects是一个什么呢!2答:objects是django帮我们自动生成的管理器对象,通过这个管理器实现对数据的查询。1问:如何自定义模型管理器?2答:1、定义一个类继承models.Manager类。2、具体定义模型类里定义一个自定义管理器类的对象。1问:自定义管理器类的应用场景?2答:1、改变查询的结果集2、添加额为的...原创 2020-04-17 10:15:32 · 135 阅读 · 0 评论 -
django——自定义上下文管理器
应用场景:模板继承可以减少页面内容的重复定义,实现页面内容的重用。个人博客右侧的导航栏都是继承base页面从而让代码得到最大程度的复用,但是当父模板中有动态数据的话,这些动态数据在子模板中是不会显示的。可以用自定义上下文处理器来解决。第一步:定义一个conntext_processors.py的上下文管理器文件第二步:文件中定义一个函数:# 必须传入request参数def...原创 2020-04-17 10:14:01 · 221 阅读 · 0 评论 -
setuptools——将项目打包
步骤一:安装setuptoolspip install setuptools步骤二:查看项目结构步骤三:在项目根目录下创建setup.py文件from setuptools import setup,find_packagessetup( name = '名称', version = '版本号', package = find_packages(),...原创 2020-04-17 10:12:39 · 213 阅读 · 0 评论 -
Django——项目部署上线
1、前期准备工作:<1>、上线前的检查工作。python manage.py check --deploy<2>、将DEBUG设置为False并配置ALLOWED_HOSTS。DEBUG= FalseALLOWED_HOSTS = ['*']<3>、安全相关的配置# 保持https连接的时间SECURE_HSTS_SECONDS = 3600...原创 2020-04-11 11:14:20 · 357 阅读 · 0 评论 -
django-解决大并发量下mysql连接数的问题
1、场景描述并发量达到一定数量, 就会导致 数据库的连接数会被瞬时占满。2、解决方法<1>安装djorm-ext-poolpip install djorm-ext-pool<2>创建一个APP应用创建一个专门为djorm_pool的App,在init.py文件中添加下面代码# -*- coding: utf-8 -*-import loggingfr...原创 2020-04-02 20:42:00 · 1165 阅读 · 0 评论 -
supervisor——管理uwsgi进程
使用supervisor配置1、作用:让supervisor管理uwsgi,可以在uwsgi发生意外的情况下,会自动的重启。2、安装:pip install supervisor3、在项目根目录下创建一个文件叫’zlkt_supervisor.conf’# supervisor的程序名字,不一定与项目名一致[program:mysite]# supervisor执行的命令co...原创 2020-03-30 14:20:51 · 799 阅读 · 0 评论 -
memcached
1、介绍memcached是一个高性能的分布式的内存对象缓存系统,分担数据库压力。memcached在内存里维护一个巨大的hash表,哪些情况下适合使用memcached:存储验证码、登录session等不是至关重要的数据。2、python 操作memcached1、安装:python-memcached:pip install python-memcached2、建立连接: ...原创 2020-03-30 13:35:39 · 137 阅读 · 0 评论 -
Django中——Celery的异步任务和定时任务
一、Celery异步任务# -----项目初始化文件中设置# 1、加载Django项目配置os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'zufang.settings')# 2、创建Celery对象,指定模块名、消息代理(消息队列)和持久化方式app = celery.Celery( 'zufang', # brok...原创 2020-03-25 11:07:33 · 184 阅读 · 0 评论 -
Django中——JWT生成用户身份令牌
一、生成token并返回import jwtimport datetimeuser = User.objects.filter(id=userid)if user: payload = { 'exp':datetime.datetime.utconutcnow() + datetime.timedelta(days=1), 'data':{ 'userid':user.us...原创 2020-03-25 09:50:22 · 317 阅读 · 0 评论