11 2021 档案
摘要:inclusion_tag 多用于返回html代码片段 1. 在应用下建立 templatetags 文件夹 2. 在文件夹下建立任意名字的py文件 3.固定导入模块 from django import template register = template.Library() 4. 书写代码
阅读全文
摘要:DRF的版本控制 为什么需要版本控制 API 版本控制允许我们在不同的客户端之间更改行为(同一个接口的不同版本会返回不同的数据)。 DRF提供了许多不同的版本控制方案。 可能会有一些客户端因为某些原因不再维护了,但是我们后端的接口还要不断的更新迭代,这个时候通过版本控制返回不同的内容就是一种不错的解
阅读全文
摘要:解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据。本质就是对请求体中的数据进行解析。 在了解解析器之前,我们要先知道Accept以及ContentType请求头。 Accept是告诉对方我能解析什么样的数据,通常也可以表示我想要什么样的数据。 Con
阅读全文
摘要:认证、权限和限制 身份验证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制。然后 权限 和 限制 组件决定是否拒绝这个请求。 简单来说就是: 认证确定了你是谁 权限确定你能不能访问某个接口 限制确定你访问某个接口的频率 认证 REST framework 提供了一些开箱即用
阅读全文
摘要:DRF分页组件 为什么要使用分页 我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输过程中耗时也会比较大。 通常我们会希望一部分一部分去请求数据,也就是我们常说的一页一页获取数据并展示
阅读全文
摘要:DRF中的Request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。 比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某
阅读全文
摘要:RESTful介绍 REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。 推荐阅读 阮一峰 理解RESTful架构 RESTful API设计指南 推荐阅读 阮一峰 RESTfu
阅读全文
摘要:表结构: class Article(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=64) create_time = models.DateField(auto_
阅读全文
摘要:Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 半成品自定义web框架 import socket sk = socket.socket() sk.bind(("127.0.0.1"
阅读全文
摘要:本文目录 一 项目背景 二 版本一 三 版本二 四 最终版(使用ContentType) 回到目录 一 项目背景 路飞项目,有课程,学位课(不同的课程字段不一样),价格策略 问题: 1 如何设计表结构,来表示这种规则 2 为专题课,添加三个价格策略 3 查询所有价格策略,并且显示对应的课程名称 4
阅读全文
摘要:前戏 在前面的博客中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 下面的内容即将让我们通过一些特点的方式实现控制全局的效果,运筹帷幄于室内(
阅读全文
摘要:cookie Cookie的由来 大家都知道HTTP协议是无状态的。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全
阅读全文
摘要:Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息
阅读全文
摘要:自定义分页器 针对上一小节批量插入的数据,我们在前端展示的时候发现一个很严重的问题,一页展示了所有的数据,数据量太大,查看不方便 针对数据量大但又需要全部展示给用户观看的情况下,我们统一做法都是做分页处理 分页推导 首先我们需要明确的时候,get请求也是可以携带参数的,所以我们在朝后端发送查看数据的
阅读全文
摘要:批量插入数据 项目需求:浏览器中访问django后端某一条url(如:127.0.0.1:8080/index/),实时朝数据库中生成一千条数据并将生成的数据查询出来,并展示到前端页面 urls.py from django.conf.urls import url from app01 impor
阅读全文
摘要:AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript
阅读全文
摘要:F查询和Q查询 F查询 在上面所有的例子中,我们构造的过滤器都只是将字段值与某个我们自己设定的常量做比较。如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较。F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。 示例1: 查询
阅读全文
摘要:一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时。 id字段是自动添加的,如果你想要指定自定义主键,只需在其中一个字段中指定 primary_key=T
阅读全文
摘要:Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}。 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}。 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字
阅读全文
摘要:Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它
阅读全文
摘要:Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 URLc
阅读全文
摘要:CentOS 8.2 64位 1.先更新系统文件:yum update和yum upgrade的功能是一样的,都是将需要更新的package更新至软件源中的最新版。区别是 yum upgrade会删除旧版本的package,而yum update则会保留。因此如果软件依赖旧版本的package,最好
阅读全文
浙公网安备 33010602011771号