Django之路
文章平均质量分 61
爱吃辣椒的锅包肉
trader and coder~
展开
-
Django 中间件详解
一、简介中间件(middleware)介于 HttpRequest 与 HttpResponse 处理之间的一道处理过程。浏览器从请求到响应的过程中,Django 需要通过很多中间件来处理。二、作用修改请求,即传送到 view 中的 HttpRequest 对象。修改响应,即 view 返回的 HttpResponse 对象。三、方法中间件可以定义四个方法,分别是:process_request(self,request)process_view(self, request, view_转载 2021-06-02 23:50:57 · 429 阅读 · 0 评论 -
Django JWT登陆与AUTHENTICATION_BACKENDS自定义验证关系
1.相关配置# project/urls.pyfrom rest_framework_jwt.views import obtain_jwt_tokenurlpatterns = [ ... path('login/', obtain_jwt_token),]# project/setting.pyAUTHENTICATION_BACKENDS = ( 'users.views.CustomBackend', #自定义手机号密码登陆 'social_core.backend原创 2021-05-22 14:00:01 · 748 阅读 · 0 评论 -
Django自定义用户验证字段-重写authenticate方法
在登录过程中不一定只需要username和password来进行登录,可能还会需要手机号加密码邮箱加密码等。一、models.pyfrom django.db import modelsfrom django.contrib.auth.models import AbstractUser# Create your models here.class UserProfile(AbstractUser): """ 用户 """ name = models.Char原创 2021-04-21 19:08:22 · 758 阅读 · 1 评论 -
Django DRF 分页、视图、路由、渲染
一、分页1.1、分页的三种方法PageNumberPaginationurl?page=1&size=2LimitOffsetPagination 从第几个到第几个url?limit=1&offset=1CursorPagination 【游标分页会加密,更安全】url?cursor=cj0xJnA9NQ%3D%3D1.2、实例PageNumberPaginationfrom rest_framework.pagination import PageNu原创 2021-03-29 17:54:39 · 186 阅读 · 0 评论 -
Django缓存
一、Django缓存系统动态网站的基本权衡是动态的。每次用户请求页面时,Web服务器都会进行各种计算-从数据库查询到模板渲染再到业务逻辑-创建站点访问者可以看到的页面。从处理开销的角度来看,这比标准的从文件系统中读取文件的服务器安排要昂贵得多。1.1、配置缓存缓存系统需要少量的设置。即,您必须告诉它缓存的数据应该存放在哪里-无论是在数据库中,在文件系统上还是直接在内存中。这是影响缓存性能的重要决定。是的,某些缓存类型比其他缓存类型更快。1.1.1、MemcachedMemcached是Django原创 2021-03-25 14:21:51 · 71 阅读 · 0 评论 -
Django数据库详解
一、管理1.1 配置对于使用django-admin工具创建的项目,settings.py中已经有了DATABASES这个变量,如果没有的话,可以直接创建这个变量,变量类型为字典。原创 2021-03-20 00:34:46 · 1112 阅读 · 1 评论 -
Django DRF认证流程(解析源码)
一、安装restframeworkpip install djangorestframeworkpip install markdown # 为browsable API 提供Markdown支持。pip install django-filter # Filtering支持。二、定义路由urlpatterns = [ path('admin/', admin.site.urls), path('dog/', views.DogView.as_view())]原创 2021-03-14 18:43:16 · 284 阅读 · 1 评论 -
Celery的使用
1.1 Celery简介Celery是由Python开发的一个简单、灵活、可靠的处理大量任务的分发系统,它不仅支持实时处理也支持任务调度。user:用户程序,用于告知celery去执行一个任务。broker: 存放任务(依赖RabbitMQ或Redis,进行存储)worker:执行任务使用场景:对耗时任务, 通过celery,将任务添加到broker队列,然后立即给用户返回一个任务ID,当任务添加到broker之后, 由worker获取任务并处理任务。任务完成之后, 在将结果放到back原创 2021-02-24 18:00:12 · 813 阅读 · 1 评论 -
Django中jwt的使用
一、jwt介绍和应用JSON Web Tokens,用于安全的表示双方之间的声明。目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。二、jwt认证流程在项目开发中,一般会按照上图所示的过程进行认证,即:用户登录成功之后,服务端给用户浏览器返回一个token,以后用户浏览器要携带token再去向服务端发送请求,服务端校验token的合法性,合法则给用户看数据,否则,返回一些错误信息。传统token方式和jwt在认证方面有什么差异?传统token用户登录成功后,服务端生成一个随原创 2021-01-25 17:55:04 · 699 阅读 · 0 评论 -
Django中Models外键循环引用解决方法
不要导入该APP的包,而是加上双引号写入"App.xxx"添加引号按照映射关系查找原创 2021-01-18 17:58:26 · 456 阅读 · 0 评论 -
Django中Admin自定义设置表名和APP名字
models.py中verbose_name定义该表名字的显示apps.py中verbose_name定义APP名字的显示原创 2021-01-18 17:43:12 · 596 阅读 · 0 评论 -
Django Admin自定义显示字段
Django Model:from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser):# AbstractUser这个类,也就是Django框架默认使用的一个用于管理用户的User类,这个类生成一个auth_user表。所以,要扩展用户属性,可以继承AbstractUser,在子类UserModel中实现扩展。 nick_n原创 2020-12-30 17:48:43 · 2455 阅读 · 0 评论 -
Django取出choice字段值得方法。
choices 该参数接收一个可迭代的列表或元组(基本单位为二元组)。如果指定了该参数,在实例化该模型时,该字段只 能取选项列表中的值。每个二元组的第一个值会储存在数据库中,而第二个值将只会用于显示作用。对于一个模型实例,要获取该字段二元组中相对应的第二个值,使用 get_FOO_display() 方法。例如:from django.db import models class Person(models.Model): SHIRT_SIZES = ( ('S', 'Small'),原创 2020-07-18 16:41:25 · 2212 阅读 · 0 评论 -
Anaconda安装django环境无法创建app
需要安装sqlparse模块打开Anaconda选择环境–>我这里是web–>选择all–>搜索sqlparse–>安装原创 2019-08-11 21:51:53 · 319 阅读 · 0 评论 -
django--基本配置
创建项目:django-admin startproject 项目名创建app(确定当前位置在manage.py下):python manage.py startapp polls初始化数据库:python manage.py makemigrationspython manage.py migrate [--fake]创建admin用户:python manage.py...原创 2019-08-03 18:17:40 · 122 阅读 · 0 评论 -
自制admin前端显示-django
原创 2019-07-15 13:16:46 · 162 阅读 · 0 评论 -
django之后台模板验证
1.首先定义一个模板(注意引入 from django import forms)from django import forms#定义模板 #min_length表示获取字符的最小长度,error_messages获取错误信息class LoginForm(forms.Form): user=forms.CharField(min_length=6,error_messages=...原创 2019-06-18 00:17:10 · 237 阅读 · 0 评论 -
django-Ajax实现上传图片(原生JS以及jQuery写法)
1.原生实现上传//首先new一个XMLRequest对象xml=new XMLHttpRequest();//上传路径以及提交方式,true表示以异步方式发送数据xml.open(‘post’,’/upload.html’,true);//发送数据xml.send(“k1=v1;k2=v2;”);2.jQuery实现$.ajax({url:’/upload.html’,...原创 2019-06-16 18:50:52 · 1161 阅读 · 0 评论