随笔分类 -  Django

摘要:1.问题描述 针对Django序列化输出日期时,为了格式化日期,封装了如下方法: import locale def datetime_fmt(): locale.setlocale(locale.LC_CTYPE, 'chinese') return '%Y年%m月%d日 %H:%M:%S' 但是 阅读全文
posted @ 2020-08-02 17:38 小公瑾 阅读(2318) 评论(2) 推荐(0)
摘要:一、问题描述 二、解决方法 1.安装django-cors-headers pip install -i https://pypi.douban.com/simple django-cors-headers 2.将corsheaders添加到settings.py文件的INSTALLED_APPS中 阅读全文
posted @ 2020-07-26 15:00 小公瑾 阅读(4018) 评论(0) 推荐(3)
摘要:一、认证 1.Browsable API页面认证与JWT认证比较 1.Browsable API页面认证 指定permission_classes 添加rest_framework.urls路由 2.Json Web Token认证 最常用的认证方式 Session认证 Token认证 Sessio 阅读全文
posted @ 2020-07-25 16:35 小公瑾 阅读(1384) 评论(2) 推荐(0)
摘要:一、ALLOWED_HOSTS配置 可以使用那些iP或者域名来访问系统 默认为空,可以使用127.0.0.1或者localhost,也可以指定ip 如果想允许任何ip进行访问,可以设置为* 在项目下的settings.py中设置 ALLOWED_HOSTS = ['*'] 二、LOGGING配置 在 阅读全文
posted @ 2020-07-25 15:30 小公瑾 阅读(562) 评论(0) 推荐(0)
摘要:一、简介 生成API文档平台 自动生成测试代码 支持接口测试 二、安装 coreapi(必须) Pygments(可选) MarkDown(可选) pip install -i https://pypi.douban.com/simple coreapi pip install -i https:/ 阅读全文
posted @ 2020-07-19 20:25 小公瑾 阅读(2136) 评论(0) 推荐(1)
摘要:一、自定义action 使用action装饰器 methods 支持的请求方式,为一个列表,默认为['get'] detail 必传参数, 要处理的是否是详情资源对象(即是否通过url路径获取主键) True表示需要传递主键id,使用通过URL获取的主键对应的数据对象 False表示不需要传递主键i 阅读全文
posted @ 2020-07-19 17:31 小公瑾 阅读(2870) 评论(0) 推荐(2)
摘要:先上代码: from django_filters.rest_framework import DjangoFilterBackend from rest_framework.filters import OrderingFilter from rest_framework.generics imp 阅读全文
posted @ 2020-07-19 15:57 小公瑾 阅读(508) 评论(0) 推荐(0)
摘要:先来看看之前优化的代码: from rest_framework.generics import GenericAPIView from django_filters.rest_framework import DjangoFilterBackend from rest_framework.filt 阅读全文
posted @ 2020-07-19 14:57 小公瑾 阅读(442) 评论(0) 推荐(0)
摘要:一、ListModelMixin 提供list(request, *args, **kwargs)方法 获取已存在的列表数据(获取多条记录) 获取成功,则返回200 OK 1.引入方式 from rest_framework.mixins import ListModelMixin 2.源码对比 我 阅读全文
posted @ 2020-07-19 14:01 小公瑾 阅读(1419) 评论(0) 推荐(0)
摘要:一、使用方法 1.添加引擎 在全局配置settings.py模块的REST_FRAMEWORK字段中配置引擎和指定每页显示的数据条数 REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumbe 阅读全文
posted @ 2020-07-18 23:04 小公瑾 阅读(783) 评论(0) 推荐(0)
摘要:一、使用方法 1.引入方式 from rest_framework.filters import OrderingFilter 2.添加引擎 将OrderingFilter引擎添加到filter_backends列表中,也可以添加到全局 filter_backends = [DjangoFilter 阅读全文
posted @ 2020-07-18 23:02 小公瑾 阅读(455) 评论(3) 推荐(0)
摘要:GenericAPIView为APIView的子类,它拓展了过滤、查询、分页的功能,本章主要介绍过滤的使用方法 一、引入方式 from rest_framework.generics import GenericAPIView 二、GenericAPIView 视图继承GenericAPIView 阅读全文
posted @ 2020-07-18 22:45 小公瑾 阅读(913) 评论(0) 推荐(0)
摘要:在前面的文章中,我们后端序列化给前端都是以json数据返回,反序列化(post、put)也以json数据格式输入,如果我们反序列化输入的数据也想以application/x-www-form-urlencoded或者其它的格式输入呢?又或者返回的数据想以html页面的方式展示呢? 在django的视 阅读全文
posted @ 2020-07-18 21:36 小公瑾 阅读(2195) 评论(0) 推荐(2)
摘要:一般我们在定义视图的时候,会做各种数据校验,并进行捕获后以JsonResponse进行返回,在django中有一种推荐的方式是直接抛出异常,该异常django会自动进行处理 一、引用方式 from django.http import Http404 二、使用方法 示例: from django.h 阅读全文
posted @ 2020-07-12 15:04 小公瑾 阅读(1209) 评论(0) 推荐(0)
摘要:众所周知,前面我们所有的序列化操作只涉及到一张表,而且是主表,那么在序列化的时候从表怎么展示主表的一些信息呢?主表又怎么展示从表信息呢? 一、从表展示主表信息 1.PrimaryKeyRelatedField返回主表的主键值 from .models import Interfaces from p 阅读全文
posted @ 2020-07-12 14:45 小公瑾 阅读(2441) 评论(0) 推荐(1)
摘要:一、基本语法 在没有使用ModelSerializer序列化器类之前,我们定义的序列化器类都需要添加对应模型类字段的很多字段,如果添加的字段特别多,那么势必会影响开发效率和代码的可读性,因此会选择一种更为简洁的序列化器类来帮我们优化框架代码,简化序列化器类中字段的创建 常规序列化器类示例: from 阅读全文
posted @ 2020-07-12 11:36 小公瑾 阅读(782) 评论(0) 推荐(0)
摘要:一、create优化 在serializer序列化中,我们通过创建序列化器对象的方式大大地简化了视图函数的代码,前端传入的数据通过反序列化操作进行了各种数据校验,代码如下: from django.http import JsonResponse from django.views import V 阅读全文
posted @ 2020-07-11 20:03 小公瑾 阅读(504) 评论(0) 推荐(0)
摘要:反序列化过程中,除了校验字段类型和长度大小之外,还需要有其它的条件限制的校验,这时我们可以使用validators自定义校验项 一、唯一字段校验 1.引入validators模块 from rest_framework import validators 2.在需要唯一校验的字段类里面设置valid 阅读全文
posted @ 2020-07-11 17:08 小公瑾 阅读(2779) 评论(0) 推荐(0)
摘要:在本篇serializer序列化不做赘述,前一篇序列化时已经说明了,反序列化最重要的就是数据校验,包括字段类型校验、长度、是否唯一、是否只输入、是否只输出、是否允许为空等等,也可以做自定义的校验,总之校验功能及其强大 一、序列化字段类型及参数 关于字段类型,可以查看源码 # This helps k 阅读全文
posted @ 2020-07-11 15:02 小公瑾 阅读(830) 评论(0) 推荐(0)
摘要:一、序列化与反序列化 1.序列化 概念:将程序中的一个数据结构类型转化为其它格式(字典、json、XML等)。例如:将django中的模型类对象转换为json字符串,这个转换过程称之为序列化 序列化时机:当需要给前端响应模型数据时,需要将模型数据序列化成前端需要的格式 2.反序列化 概念:将其它格式 阅读全文
posted @ 2020-07-11 13:23 小公瑾 阅读(713) 评论(0) 推荐(0)