django基础
JosephThatwho
这个作者很懒,什么都没留下…
展开
-
rest framework中的模型字段自关联
假设有分类模型Types, 定义如下。models.py:...class Types(models.Model): id = models.BigAutoField(primary_key=True) name = models.CharField(max_length=255, verbose_name='分类名称') parent_type = models.ForeignKey( 'self', on_delete=models.DO_NOTHING,原创 2020-10-31 14:06:27 · 392 阅读 · 0 评论 -
MySQL字符集错误
django.db.utils.OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")以上报错很明显是由于字符集部匹配导致的。所以登入MySQL修改相关配置。首先查看MySQL的数据库配置:mysql> show variables like '%coll%';+-----------原创 2020-05-27 20:01:30 · 533 阅读 · 0 评论 -
Django的session模块(一)模型与存储
Django Session ModelDjango的session是一个非常简单的模型,session的抽象模型定义在django/contrib/sessions/base_sessiion.py中:from django.db import modelsfrom django.utils.translation import gettext_lazy as _class Base...原创 2020-04-28 10:51:06 · 854 阅读 · 0 评论 -
Django Rest framework Permissions
权限(Permissions)和认证(Authentication)以及节流(Throttling)一起决定一个请求是否会被接受或拒绝。权限检查会在视图最开始执行,先于视图中的其他代码。权限校验通常使用认证阶段产生的request.user和request.auth参数。最简单的权限校验是接受所有携带了认证用户的请求以及用户未被认证的访问只读信息的请求。这中权限控制可以通过REST Frame...原创 2020-04-26 00:53:52 · 501 阅读 · 0 评论 -
CVAT抽离容器遇到的问题
安装postgreSQL失败Collecting psycopg2-binary==2.7.4 Using cached https://mirrors.aliyun.com/pypi/packages/77/09/4991fcd9a8f4bea1ee3948e1729fa17c184d25bd10809bacc143626361b9/psycopg2-binary-2.7.4.tar....原创 2020-03-07 13:00:06 · 604 阅读 · 0 评论 -
Channels拓展Django,支持WebSocket协议,Channels简介
Channels整合了四个组件:channels, Django整合层Daphne, HTTP和Websocket终端服务器asgiref, ASGI基础库channels_redis, Redis通信层后台可以通过channels.http.AsgiHandler包裹Django的视图,也可以让Django视图和Channels的ASGI应用分开运行Channels和ASGI将连接...原创 2019-10-15 19:11:39 · 499 阅读 · 0 评论 -
装饰类视图:Django内置method_decorator
Django内置method_decoratormethod_decorator属于django.utils.decorators,用于将函数装饰器转为类方法装饰器,直白的说,就是被method_decorator包裹的装饰器可用于装饰类或类方法。用法1.装饰类方法将需要的装饰器包裹在method_decorator中装饰在目标类方法上。from django.contrib.auth....原创 2019-09-23 13:38:06 · 3811 阅读 · 0 评论 -
django-oidc-provider备忘录
Server RSA Keys: 用于给ID Tokens加密。django-oidc-provider自带’OIDC_USERINFO’的settings,默认指向一个函数,该函数调用claims(一个字典)和user(user 实例),返回claims(字典),该字典包含所有函数中声明的属性。可以自己定义,并在settings中以点分隔的路径字符串指定该函数。...原创 2019-11-19 08:40:13 · 1045 阅读 · 0 评论 -
Django使用Channels主动给客户端发送信息
最近做的Django项目中有一条需求是当用户写完邮件并选择抄送用户,用户发送邮件后,服务器主动会给在所有抄送用户发送一条提示。这里可以使用支持WebSoket协议的Channels。思路简述:用户登录时,浏览器会主动发送器WebScoket连接,服务器接到连接后,将用户加入以用户ID标识的组群中,并返回接受连接的信息;发送邮件时,会遍历抄送用户的ID,根据他们的ID,一次向相应的组群发送消...原创 2019-10-29 13:24:26 · 4630 阅读 · 0 评论 -
nginx启动报错:80端口被占用
最近在使用Nginx部署一个项目时,报错80端口被占用:(apollo) user@root:~/program/apollo$ sudo /usr/sbin/nginx -c ~/program/apollo/fake.conf nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [em...原创 2019-10-23 14:29:38 · 2600 阅读 · 0 评论 -
使用Django中间件MiddelWare给request增加用户
在使用postman自测后端接口的时候,因为没法在postman中给request添加user,导致诸如权限验证等功能难以检测。这时可以先注释这一部分功能,等向前端开放接口时在去注释,也可以通过中间件给request伪造一个user,开放接口时注释掉中间件即可。中间件至少需要定义以下三种钩子函数中一个或多个:process_request # 请求预处理,在视图函数被定为之前预先处理请求,本...原创 2019-10-09 21:58:19 · 721 阅读 · 0 评论 -
Django中将models拆分
将一个应用中的models.py文件拆分为多个单独的model并存于名为models的python包(即,含有__init__.py的文件夹),在models包内定义好models后,直接运行命令python manage.py makemigrations并不能找到这些模型,需要在__init__.py中导入定义的模型:" Press ? for help | 1 ...原创 2019-09-29 20:07:49 · 935 阅读 · 0 评论 -
安装mysqlclient出错
MySQLdb不支持Python3,所以Django连接MySQL不能使用MySQLdb,需要mysqlclient。使用pip安装:$ pip install mysqlclient结果报错如下:Collecting mysqlclient ...原创 2019-09-29 14:50:16 · 1538 阅读 · 0 评论