随笔分类 - Django
摘要:官方文档 Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。比如:数据库的某张表中,在其添加数据之前或删除数据之后添加一条日志,可以使用触发器实现,当然,在django中,就可以用信号来实现。 一、内置信号 对于Dja
阅读全文
摘要:一、cache介绍 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存。 缓存工作原理:缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有用户来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接
阅读全文
摘要:一、引出问题 假如有这两张表,它们中的课程可能价格不一样、周期不一样、等等...不一样...,现在有一张价格策略表,怎么就用一张表报保存它们之间不同的数据呢? 可能你会这样: 确实是行!但是,如果有很多不同类型的课程,那么这样表就太多空值了! 没办法,这一张表不行,再创建一张不就行了,就像这样: 确
阅读全文
摘要:一、url分发 以防有其他业务线的需要,导致url杂乱,将每个app用到的url都设置在自己的应用中。 二、获取多条数据和详细数据 先来看一下示例用到的 model 表结构: 从上面的url可知道,这两条接口可以用同一个CBV处理数据: ①课程页面,应该包含多条数据(需要分页),所以是基于 Cour
阅读全文
摘要:渲染器、版本: 版本urls.py: 获取版本: request.version
阅读全文
摘要:三种分页:根据页码、根据索引、根据加密
阅读全文
摘要:对匿名用户采用 IP 控制访问频率,对登录用户采用 用户名 控制访问频率。 可以配置redis 匿名用户的访问频率限制,这里设置在全站下,如下: 登录用户的访问频率设置在单独的视图中,而视图依赖身份认证才能辨别用户是否登陆了,所以设置如下: 用户身份认证如下:
阅读全文
摘要:本篇随笔在 "Django REST framework 初识" 基础上扩展 一、认证组件 当然也可以使用django自带的 auth_user 表来保存用户信息,Token表一对一关联这张表或者继承这张表: auth.py Views.py urls.py 局部认证(哪个视图类需要认证就在哪加上)
阅读全文
摘要:一、官网快速实例 quickstart 二、序列化 models.py from django.db import models class Author(models.Model): name = models.CharField(max_length=32, verbose_name="作者")
阅读全文
摘要:urls.py views.py 第一种方式: 第二种方式:
阅读全文
摘要:blank当blank=True时,说明此处的数据可以不填,默认情况下为False,也就意味着默认情况下,所输入的数据不得空,blank是和页面表单有关,在页面需要输入参数的时候,如果在models里面定义了blank=True时,那么这个参数是可以不填写的,如果是默认的话,如果没有填写,则会提示错
阅读全文
摘要:官方文档:settings配置 静态文件配置链接
阅读全文
摘要:这里,在使用 ModelForm 渲染前端页面的前提下,对于 models 中的 ManyToManyField 类型字段会在 ModelForm 中被转化为 ModelMultipleChoiceField 类型字段,对于 models 中的 ForeignKey 类型字段会在 ModelForm
阅读全文
摘要:我们在前端显示的是"男"、"女"、"保密",而不是1、2、3,则需要拿到这张表的对象(obj),使用 obj.get_字段名_display() 即可。
阅读全文
摘要:一、创建ModelForm 然后在 url 对应的视图函数中实例化这个类,把这个对象传给前端: 然后在前端像Form组件那样渲染页面,具体点击这里 二、添加数据 保存数据的时候,不用挨个取数据了,只需要 save 一下即可。 三、编辑数据 如果不使用 ModelForm,编辑的时候得显示之前的数据,
阅读全文
摘要:一、admin app Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分,可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: django.contrib是一套庞大的功能集,它是Django基本代码的
阅读全文
摘要:静态文件配置 static配置: STATIC主要指的是如css、js、images这样文件: media配置: ps:
阅读全文
摘要:用户认证 一、auth模块 django.contrib.auth中提供了许多方法: authenticate() 提供了用户认证功能,即验证用户名以及密码是否正确,一般需要username 、password两个关键字参数。 如果认证成功(用户名和密码正确有效),便会返回一个 User 对象。 a
阅读全文
摘要:一、什么是中间件 中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 二、自定义中间件 中间件可以定义五个方
阅读全文