Django
Fe_cow丿
头发是比青春更容易流失的东西,不要等失去了才想着去珍惜!
展开
-
Python-模型类-F()对象和Q()对象详解
定义模型from django.db import modelsfrom django.db.models import F, Qclass Publisher(models.Model): """出版社""" name = models.CharField(max_length=30) address = mode原创 2018-06-13 14:13:21 · 6080 阅读 · 0 评论 -
Django-drf架构 分页的详解
Django-drf架构 分页的详解一、为什么要使用分页?比如我们要获取数据库中一张表内所有的数据,但是这张表的数据可能会达到千万条的级别,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大,而且在网络传输过程中耗时也会比较大,使用分页就可以优化这些问题。二、DRF 中提供了三种分页模式:1.PageNumberPagination2.LimitOffs...原创 2019-06-21 18:47:33 · 3219 阅读 · 0 评论 -
Django-drf架构 认证、权限、节流的详解
Django-drf架构 认证、权限、节流的详解一、Token认证:Token是服务端产生,如果前端使用用户名或密码向服务器请求认证,服务端认证成功,那么在服务端会返回Token给前端。前端可以在每次请求的时候带上Token证明自己的合法请求。如果Token在服务端持久化(比如存储Mysql或Redis中),那么它就是一个永久的身份令牌。使用Token可以解决哪些问题?1.Token完全由...原创 2019-06-12 09:23:51 · 2769 阅读 · 0 评论 -
Django-drf架构 序列化的详解
Django-drf架构 序列化的详解一、为什么使用序列化器?序列化器允许将诸如查询集和模型实例之类的复杂数据转换为原生 Python 数据类型,然后可以将它们轻松地呈现为 JSON,XML 或其他内容类型。序列化器还提供反序列化,在首次验证传入数据之后,可以将解析的数据转换回复杂类型。二、创建模型类:# -*- coding: utf-8 -*-from __fu...原创 2019-06-20 21:19:49 · 1649 阅读 · 1 评论 -
Django-drf架构 解析器的详解
Django-drf架构 解释器的详解一、解释器作用:解释器的作用就是服务器接收客户端传过来的数据,把数据解析自己想要的数据类型的过程简单说就是对请求体中的数据进行解析简单分析:request.data将传来的Json数据解析成了字典的形式,我们可以使用request.data.get(‘请求参数’)来获取客户端传过来的值。我们知道原生的Django是不支付解析Json数据的,所以DR...原创 2019-06-16 21:21:47 · 691 阅读 · 0 评论 -
Django 中 CSRF 理解与使用
Django 中 CSRF 理解一、CSRF 使用:Django 为用户实现防止跨站请求伪造的功能,通过中间件django.middleware.csrf.CsrfViewMiddleware来完成。全局设置中间件:# 在setting.py 中 默认django 框架就会开启配置项MIDDLEWARE = [ 'django.middleware.csrf.CsrfViewMi...原创 2019-06-09 16:47:08 · 1266 阅读 · 0 评论 -
Django RESTful API 设计指南
Django RESTful API 设计指南:REST指的是一组架构约束条件和原则。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。有一种统一的机制,方便不同的前端设备与后端进行通信。下面介绍RESTful API的设计细节,探讨如何设计一套合理、好用的API。一、协议:API与用于的通信协议、总是使用HTTPS协议。互联网的通信安全,建立在SSL...原创 2019-06-03 15:42:48 · 279 阅读 · 0 评论 -
Django 中间件详解
Django 中间件一、请求生命周期:以下图是客户端发起一次http请求的流程:注意:django框架不包括socket,要借助图中两个模块实现socket,进行客户端和服务器通信。wsgi性能较弱,一般测试开发用;企业中用uwsgi比较好,性能强,并发好。二、中间件简介:上图可知,在请求到达视图之前,会依次执行中间件,视图返回的响应,依次倒序执行中间件。django 中间件(mi...原创 2019-06-08 14:12:42 · 2265 阅读 · 0 评论 -
Django 信号详解
Django 信号详解一、信号:django自带一套信号机制来帮助我们在框架的不同位置之间传递信息。简单的说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(siganls)发送给一组接收者(receivers)信号系统包含的三要素:1.发送者:信号的发出放2.信号:信号本身3.接收者:信号的接收者1.1内置信号:Django提...原创 2019-06-06 17:08:44 · 2249 阅读 · 0 评论 -
Django-框架保证并发时数据一致性
Django-框架保证并发时数据一致性一、关于锁:1.1:乐观锁:概念:同一条数据很少会因为并发修改而产生冲突,适用于读多写少的场景。实现方式:读取一个字段,执行处理逻辑,当需要更新数据时,再次检查该字段是否和第一次读取一致。如果一致,更新数据,否则不更新,重新读取后再提交。1.2:悲观锁:概念:当一条数据正在被修改时,不允许其他任何关于这条数据的操作。实现方式:读取一个字段之...原创 2019-05-16 16:55:17 · 1311 阅读 · 0 评论 -
Django框架-数据库查询、一对一、一对多、多对多关系
Django框架—数据库查询、一对一、一对多、多对多关系一、创建模型类:# -*- coding: utf-8 -*-from __future__ import unicode_literals# Create your models here.from django.db import modelsclass Course(models.Model): """课程表""...原创 2019-04-28 20:19:46 · 1605 阅读 · 0 评论 -
Python的Django框架-数据库查询(不返回QuerySet的方法)
Python的Django框架-数据库查询(不返回QuerySet的方法)一、创建模型类:# -*- coding: utf-8 -*-from __future__ import unicode_literalsfrom django.db import modelsclass Course(models.Model): """课程表""" name = mode...原创 2019-04-23 09:57:53 · 4390 阅读 · 0 评论 -
使用django-crontab执行django自定义指令
django-crontab 部署需求:再指定的时间内输入django的自定义指令,来进行一些需求的操作。使用流程:1.安装:pip install django-crontab2.配置 settings.py文件:再settings.py 文件中添加 django-crontab:INSTALLED_APPS = ( ... 'django_cron...原创 2018-10-18 22:07:56 · 1164 阅读 · 0 评论 -
Python的Django框架-数据库查询(增删改查)
创建项目 django-admin startproject django_model创建应用 python manage.py startapp model配置应用 model, 编辑 django_model/settings.py 文件:INSTALLED_APPS = [ 'django.contrib.admin', 'django...原创 2018-06-12 18:06:35 · 23390 阅读 · 4 评论 -
Python-Django框架的select_related 和 prefetch_related函数对 QuerySet 查询的优化
概念:select_related()当执行它的查询时它沿着外键关系查询关联的对象数据。它会生成一个复杂的查询并引起性能的消耗,但是在以后使用外键关系时将不需要数据库查询。prefetch_related()返回的也是QuerySet,它将在单个批处理中自动检索每个指定查找的对象。这具有与select_related类似的目的,两者都被设计为阻止由访问相关对象而导致的数据库查询的泛滥,但是...原创 2018-06-13 11:03:12 · 5062 阅读 · 2 评论 -
Django ContentTypes 简单使用
Django ContentTypes 简单使用:一、简单介绍:contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中。主要用来创建模型间的通用关系(generic relation)。 可以跟踪Django项目中安装的所有模型(Model),提供用于处理模型的高级通用接口。二、分析ContentTypes应...原创 2019-06-22 16:18:34 · 715 阅读 · 0 评论