摘要:
一、引入方式 from itertools import cycle 二、使用方法 我们先来看看它的源码 cycle它接收一个可迭代对象,可以将一个可迭代对象转换为一个可以无限迭代的迭代器 源码里我们可以看到它实现了__iter__和__next__的魔术方法,说明它既是可迭代对象也是一个迭代器,我 阅读全文
摘要:
一般我们在定义视图的时候,会做各种数据校验,并进行捕获后以JsonResponse进行返回,在django中有一种推荐的方式是直接抛出异常,该异常django会自动进行处理 一、引用方式 from django.http import Http404 二、使用方法 示例: from django.h 阅读全文
摘要:
众所周知,前面我们所有的序列化操作只涉及到一张表,而且是主表,那么在序列化的时候从表怎么展示主表的一些信息呢?主表又怎么展示从表信息呢? 一、从表展示主表信息 1.PrimaryKeyRelatedField返回主表的主键值 from .models import Interfaces from p 阅读全文
摘要:
一、基本语法 在没有使用ModelSerializer序列化器类之前,我们定义的序列化器类都需要添加对应模型类字段的很多字段,如果添加的字段特别多,那么势必会影响开发效率和代码的可读性,因此会选择一种更为简洁的序列化器类来帮我们优化框架代码,简化序列化器类中字段的创建 常规序列化器类示例: from 阅读全文
摘要:
一、create优化 在serializer序列化中,我们通过创建序列化器对象的方式大大地简化了视图函数的代码,前端传入的数据通过反序列化操作进行了各种数据校验,代码如下: from django.http import JsonResponse from django.views import V 阅读全文
摘要:
反序列化过程中,除了校验字段类型和长度大小之外,还需要有其它的条件限制的校验,这时我们可以使用validators自定义校验项 一、唯一字段校验 1.引入validators模块 from rest_framework import validators 2.在需要唯一校验的字段类里面设置valid 阅读全文
摘要:
在本篇serializer序列化不做赘述,前一篇序列化时已经说明了,反序列化最重要的就是数据校验,包括字段类型校验、长度、是否唯一、是否只输入、是否只输出、是否允许为空等等,也可以做自定义的校验,总之校验功能及其强大 一、序列化字段类型及参数 关于字段类型,可以查看源码 # This helps k 阅读全文
摘要:
一、序列化与反序列化 1.序列化 概念:将程序中的一个数据结构类型转化为其它格式(字典、json、XML等)。例如:将django中的模型类对象转换为json字符串,这个转换过程称之为序列化 序列化时机:当需要给前端响应模型数据时,需要将模型数据序列化成前端需要的格式 2.反序列化 概念:将其它格式 阅读全文
摘要:
一、简介 它是在Django基础之上,进行了二次开发 主要用于构建Restful API 简称为DRF框架或者REST Framework框架 二、特性 提供了强大的Serializer序列化器,可以高效地进行序列化与反序列化操作 提供了极为丰富的类视图、Mixin扩展类、Viewset视图集 提供 阅读全文
摘要:
这里针对smtplib做了一系列封装,可以完成以下四种场景: 发送纯文本的邮件 发送html页面的邮件 发送带附件文件的邮件 发送能展示图片的邮件 以上四种场景,已经做好了二次封装,经测试OK,使用时直接传入对应参数即可,直接上代码 import smtplib from email.mime.te 阅读全文
摘要:
一、定义 把类和数据表进行映射 通过类和对象就能操作它所对应表格中的数据(CRUD) 二、数据迁移 1.配置数据库连接信息 创建数据库和用户 CREATE DATABASE my_django charset=utf8; GRANT ALL PRIVILEGES ON *.* TO 'admin'@ 阅读全文
摘要:
一、前后端不分离与前后端分离的比较 前后端不分离特点: 后端需控制数据的展示 前后端不分家,耦合严重 返回的是HTML页面,适应性、拓展性差 只能用于浏览器,其它终端不匹配 前后端分离的特点: 当前主流 后端只对数据进行处理,只提供数据 前端效率、页面好不好看,全由前端负责,前后端完全独立 解耦合 阅读全文
摘要:
一、请求 Django中前端向后端传参的方式主要有以下几种情况: 查询字符串参数 请求体参数 form表单传参 json格式参数 上传文件 请求头传参 路径参数 url路径中的参数 但是以上几种情况在Django中又是怎么做的呢? 我们还是使用之前定义的类视图: from django.http i 阅读全文
摘要:
假设有这样一种情况,前端页面请求的某个地址,即有get请求,也有post请求,或者还有别的一些请求,这种情况我们使用函数视图是怎么定义的呢? from django.http import HttpResponse def index_page(request): if request.method 阅读全文
摘要:
一、作用 进行复用 将工程项目拆分为不同的子功能模块 各功能模块间可以保持相对独立 可以将模块代码整体复制过去 二、创建步骤 创建子项目 推荐子应用名为小写复数形式,不要使用中文 python manage.py startapp 子应用名 # python manage.py startapp p 阅读全文