Django
程序圆圆圆
这个作者很懒,什么都没留下…
展开
-
DRF TokenAuthentication
TokenAuthentication首先在INSTALLED_APPS中设置INSTALLED_APPS = ( ... 'rest_framework.authtoken')然后python manage.py migrate生成一个和user一对一关系的token表创建tokenfrom rest_framework.authtoken.models impor...原创 2019-08-21 09:21:55 · 867 阅读 · 1 评论 -
Django rest framework 解决外键字段serialize的问题
from rest_framework import serializersfrom ..models import Gathering, GatheringTypeclass GatheringTypeAdminSerializer(serializers.ModelSerializer): class Meta: model = GatheringType ...原创 2019-08-16 22:38:40 · 1170 阅读 · 0 评论 -
Django Gunicorn NGINX 在 CentOS7 下部署
部署流程如下:在服务器上建立git仓库将项目利用Git推送到服务器上安装虚拟环境编写systemctl的service配置NGINX反向代理用systmectl启动NGINX和gunicorn1.配置Git仓库一下示例使用git用户, 在home目录下创建git仓库# 创建git仓库git init --bare your-project-name.gitcd your-...原创 2019-08-16 22:43:29 · 211 阅读 · 0 评论 -
Django管理文件
默认情况下,django在本地存储文件,使用MEDIA_ROOT和MEDIA_URL设定。Django也提供了写自定义的存储系统的方法。其允许你完全的自定义Django在哪里存储文件。在模型中使用文件当你使用FileField或ImageField时,Django提供一组API让你可以处理文件。>>> car = Car.objects.get(name="57 Chev...原创 2019-08-16 22:40:48 · 1172 阅读 · 0 评论 -
Django 常用Meta选项
verbose_name,别名(用于admin)verbose_name_plural,复数别名(用户admin)abstract,True时类为抽象基类proxy,True时为代理模型(proxy model)ordering,按什么字段排序# 按 order_date 从大到小ordering = ['-order_date']# 先按 pub_date 从大到小,再按 a...原创 2019-08-16 22:39:27 · 84 阅读 · 0 评论 -
Django contenttype
每一个ContentType实例都拥有app_label和model这两个字段。同时也用着两个字段唯一描述一个模型从ContentType实例操作模型>>> from django.contrib.contenttypes.models import ContentType>>> user_type = ContentType.objects.get(ap...原创 2019-08-16 22:36:56 · 146 阅读 · 0 评论 -
Django AbstractUser 和AbstractBaseUser
AbstractUser 和AbstractBaseUser自定义的局限性:自定义用户模型的安装会破坏所有从User拓展的代理模型使用继承抽象User类定制user model, 会使得你在未来有需求时,更改user可重用的app中不应该定义一个自定义user modelDjango希望你的用户模型要符合一些最低要求如果你使用默认的验证后端, 那么模型必须具有一个unique字段(a...原创 2019-08-08 14:22:11 · 1757 阅读 · 0 评论 -
DRF Django rest framework 快捷添加field的几种方式
fields = ('a', 'b', 'c')fields = '__all__'exclude = ('users',)read_only_fields = ('account_name',)extra_kwargs = {'password': {'write_only': True}}class AccountSerializer(serializers.ModelSeria...原创 2019-06-10 11:05:10 · 1197 阅读 · 0 评论 -
Django 报错 django.db.utils.OperationalError: (1071, 'Specified key was too long) 解决方法
Django 报错 django.db.utils.OperationalError: (1071, ‘Specified key was too long; max key length is 767 bytes’)如果出现以下形式的报错, 则是因为模型的CharField的max_length指定的过大。可以通过直接修改migrations的文件修复。 File "/home/yyy/v...原创 2019-06-05 17:58:09 · 5501 阅读 · 0 评论 -
Django 为什么在模型中要使用settings.AUTH_USER_MODEL
因为如果A使用from django.contrib.auth import get_user_model创建外键、一对一、多对多模型,在User的model引用A时就会出现循环引用。原创 2019-06-05 14:02:55 · 2471 阅读 · 0 评论 -
用Django获取用户IP(包括被NGINX反向代理后的)
完整的实现在: https://github.com/FatEagle/IP-DjangoDjango获取一个请求的IP地址是从request.META['REMOTE_ADDR']中抽取.但是如果用NGINX等反向代理了Django服务, 则请求的ip是NGINX的ip, 不是用户的真正的IP. 真正的ip需要从request.META['HTTP_X_FORWARDED_FOR']中抽取...原创 2019-04-05 17:58:10 · 1152 阅读 · 0 评论