随笔分类 -  Django

摘要:一、基于JWT的Token登录认证 1. JWT简介 json Web Token(缩写JWT)是目前最流行的跨域认证解决方案 session登录的认证方案是看,用户从客户端传递用户名和密码登录信息,服务端认证后将信息储存在session中,将session_id放入cookie中,以后访问其他页面 阅读全文
posted @ 2020-06-23 10:49 晴天·· 阅读(367) 评论(0) 推荐(1)
摘要:Django rest framework(6) 分页 第一种分页 PageNumberPagination 基本使用 (1)urls.py urlpatterns = [ re_path('(?P<version>[v1|v2]+)/page1/', Pager1View.as_view(),) 阅读全文
posted @ 2020-06-22 20:28 晴天·· 阅读(359) 评论(2) 推荐(1)
摘要:Django rest framework(5) 解析器 解析器 (1)api/urls.py # api/urls.py from django.urls import path,re_path from .views import UserView,PaserView urlpatterns = 阅读全文
posted @ 2020-06-22 14:23 晴天·· 阅读(284) 评论(0) 推荐(1)
摘要:Django rest framework源码分析(4) 版本 版本 新建一个工程Myproject和一个app名为api (1)api/models.py from django.db import models class UserInfo(models.Model): USER_TYPE = 阅读全文
posted @ 2020-06-22 14:07 晴天·· 阅读(350) 评论(0) 推荐(1)
摘要:Django rest framework源码分析(3) 节流 添加节流 自定义节流的方法 限制60s内只能访问3次 (1)API文件夹下面新建throttle.py,代码如下: # utils/throttle.py from rest_framework.throttling import Ba 阅读全文
posted @ 2020-06-21 19:04 晴天·· 阅读(412) 评论(0) 推荐(1)
摘要:Django rest framework源码分析(2) 权限 添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 # utils/permission.py class SVIPPremission(object): 阅读全文
posted @ 2020-06-21 11:48 晴天·· 阅读(365) 评论(0) 推荐(1)
摘要:Django rest framework源码分析(1) 认证 一、基础 1.1.安装 两种方式: github pip直接安装 pip install djangorestframework 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,django-rest-framework源码中 阅读全文
posted @ 2020-06-20 22:02 晴天·· 阅读(444) 评论(0) 推荐(1)
摘要:四、模型类序列化器ModelSerializer 如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同,但提供了: 基于模型类 阅读全文
posted @ 2020-06-20 09:15 晴天·· 阅读(382) 评论(0) 推荐(0)
摘要:三、反序列化使用 3.1 验证 使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。 在获取反序列化的数据前,必须调用**is_valid()**方法进行验证,验证成功返回True,否则返回False。 验证失败,可以通过序列化器对象的errors属性获取错误 阅读全文
posted @ 2020-06-19 19:25 晴天·· 阅读(345) 评论(0) 推荐(1)
摘要:Serializer序列化器 序列化器的作用: 进行数据的校验 对数据对象进行转换 一、定义Serializer 1.1 定义方法 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。 例 阅读全文
posted @ 2020-06-19 10:50 晴天·· 阅读(312) 评论(0) 推荐(1)
摘要:一、环境安装与配置 DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的Django环境而无需从新创建。(若没有Django环境,需要 阅读全文
posted @ 2020-06-19 10:25 晴天·· 阅读(342) 评论(0) 推荐(1)
摘要:一、明确REST接口开发的核心任务 分析一下上节的案例,可以发现,在开发REST API接口时,视图中做的最主要有三件事: 将请求的数据(如JSON格式)转换为模型类对象 操作数据库 将模型类对象转换为响应的数据(如JSON格式) 1.1 序列化Serialization 维基百科中对于序列化的定义 阅读全文
posted @ 2020-06-18 16:40 晴天·· 阅读(321) 评论(0) 推荐(2)
摘要:使用Django开发REST 接口 我们以在Django框架中使用的图书英雄案例来写一套支持图书数据增删改查的REST API接口,来理解REST API的开发。 在此案例中,前后端均发送JSON格式数据。 # views.py from datetime import datetime class 阅读全文
posted @ 2020-06-18 15:48 晴天·· 阅读(299) 评论(0) 推荐(2)
摘要:RESTful设计方法 1. 域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ 2. 版本(Versioning) 应该将API的版本号放入UR 阅读全文
posted @ 2020-06-18 08:00 晴天·· 阅读(292) 评论(0) 推荐(1)
摘要:认识RESTful 在前后端分离的应用模式里,后端API接口如何定义? 例如对于后端数据库中保存了商品的信息,前端可能需要对商品数据进行增删改查,那相应的每个操作后端都需要提供一个API接口: POST /add-goods 增加商品 POST /delete-goods 删除商品 POST /up 阅读全文
posted @ 2020-06-16 10:02 晴天·· 阅读(346) 评论(0) 推荐(2)
摘要:Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。 这种应用模式比较适合纯网页应用,但是当后端对接App时,Ap 阅读全文
posted @ 2020-06-16 09:49 晴天·· 阅读(272) 评论(0) 推荐(2)
摘要:xadmin 安装&配置 https://github.com/sshwsfc/xadmin 选择django2 进行下载,不要下载主分支 切换到虚拟环境进行安装 # pip install 本地路径+文件名 pip install G:\Downloads\chrome\xadmin-django 阅读全文
posted @ 2020-06-15 10:45 晴天·· 阅读(283) 评论(0) 推荐(1)
摘要:使用Django实现分页器功能 要使用Django实现分页器,必须从Django中导入Paginator模块 from django.core.paginator import Paginator 假如现在有150条记录要显示,每页显示10条 >>> from django.core.paginat 阅读全文
posted @ 2020-06-14 10:53 晴天·· 阅读(184) 评论(0) 推荐(2)
摘要:细说Django的admin 在admin.py中只需要将地Model中某个类注册,即可在Admin中进行增删查改的功能,例如: admin.site.register(models.UserInfo) 这种方式比较简单,如果想要进行更多的定制操作,就需要利用ModelAdmin进行操作 方式一 f 阅读全文
posted @ 2020-06-13 15:06 晴天·· 阅读(415) 评论(0) 推荐(2)
摘要:Django的form表单之文件上传 在生成input标签的时候可以指定input标签的类型为file类型 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <bod 阅读全文
posted @ 2020-06-12 11:02 晴天·· 阅读(1013) 评论(0) 推荐(2)