摘要:
JWT简介 # Json web token (JWT) 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。 Json web token (JWT), 是为了在网络应用环 阅读全文
摘要:
# 1 安装 pip install coreapi # 2 在路由中配置 from rest_framework.documentation import include_docs_urls urlpatterns = [ ... path('docs/', include_docs_urls(t 阅读全文
摘要:
过滤 # 1 安装 pip install django-filter # 2 注册,在app中注册 # 3 全局配,或者全局配 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',), # 阅读全文
摘要:
内置的频率限制(限制未登录用户) # 全局使用 限制未登录用户一分钟访问5次 REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': ( 'rest_framework.throttling.AnonRateThrottle', ), 'DEFAULT_THRO 阅读全文
摘要:
权限的源码 # APIView >dispatch > initial > self.perform_authentication(request)(APIView的对象方法) def check_permissions(self, request): """ Check if the reques 阅读全文
摘要:
认证的写法 # 认证的实现 1 写一个类,继承BaseAuthentication,重写authenticate,认证的逻辑写在里面, 认证通过,返回两个值,一个最终给了Request对象的user, 认证失败,抛异常:AuthenticationFailed或者APIException 2 全局使 阅读全文
摘要:
路由 # 1 在url.py中配置 path('books4/', views.Book4View.as_view()), re_path('books4/(?P<pk>\d+)', views.Book4DetailView.as_view()), # 2 一旦视图类,继承了ViewSetMixi 阅读全文
摘要:
基于APIView写接口 # views.py # 基于APIView写的 # class BookView(APIView): # def get(self, request): # book_list = Book.objects.all() # book_ser = BookSerialize 阅读全文
摘要:
请求 # 请求对象 # from rest_framework.request import Request def __init__(self, request, parsers=None, authenticators=None, negotiator=None, parser_context= 阅读全文
摘要:
序列化组件介绍 1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 3. 反序列化,完成数据校验功能 序列化组件的使用 1、写一个序列化的类,继承Serializ 阅读全文
摘要:
# from rest_framework.views import APIView # urls.py path('booksapiview/', views.BooksAPIView.as_view()), # 在这个地方应该写一个函数内存地址 # APIView的as_view方法(类的绑定方 阅读全文
摘要:
# ModelViewSet继承View(django原生View) # APIView继承了View # 先读View # urls.py path('books1/', views.Books.as_view()), # 在这个地方应该写一个函数内存地址,views.Books.as_view( 阅读全文
摘要:
DRF简介 Django Rest_Framework """ 核心思想: 缩减编写api接口的代码 Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serial 阅读全文
摘要:
Django中间件 详情参见:http://liuqingzheng.top/python/Django%E6%A1%86%E6%9E%B6/16-Django%E9%AB%98%E7%BA%A7%E4%B9%8B-%E4%B8%AD%E9%97%B4%E4%BB%B6/ """ django中间件 阅读全文
摘要:
from django.views import Viewfrom django.utils.decorators import method_decorator"""CBV中不建议你直接给类的方法加装饰器无论该装饰器能否正常工作 都不建议直接加"""# @method_decorator(logi 阅读全文
摘要:
前戏 """ 写一个注册功能 获取用户名和密码 利用form表单提交数据 在后端判断用户名和密码是否符合一定的条件 用户名中不能含有*** 密码不能少于三位 如果不符合条件 需要将提示信息展示到前端页面 """ 前端: <form action="" method="post"> <p>userna 阅读全文
摘要:
Ajax 1 大坑 如果在form表单中,写button和input是submit类型,会触发form表单的提交 如果不想触发 不写在form表单里面 将input的type写成button 2 大坑 后端响应格式如果是:html/text格式,ajax接收到的数据后需要自己转成对象 总结:后端返回 阅读全文
摘要:
模板语法值变量 详情参见:https://www.cnblogs.com/xiaoyuanqujing/p/11637963.html {{}}:变量相关 {%%}:逻辑相关 """ 如果html代码中的数据不是固定死的,而是动态变化的,则必须在html中嵌入变量,为此,模板语法提供了变量的概念,允 阅读全文
摘要:
""" 1.django其实有两个配置文件 一个是暴露给用户可以自定义的配置文件 项目根目录下的settings.py 一个是项目默认的配置文件 当用户不做任何配置的时候自动加载默认配置 2.配置文件变量名必须是大写 """ 疑问:为什么当用户配置了就使用用户配置的 不配置就是要默认的 from d 阅读全文
摘要:
# 你自己不要修改源码 出了bug很难搞 # 突破口urls.py url(r'^login/',views.MyLogin.as_view()) """ 函数名/方法名 加括号执行优先级最高 猜测 as_view() 要么是被@staticmethon修饰的静态方法 要么是被@classmetho 阅读全文