随笔分类 - Django
摘要:一、整个查询集统计 Django 提供两种方法来产生统计。 第一种方法是产生整个 查询集 的统计。假设我们要统计所有书的平均价格。 Djnago 中查询所有书的语句为: >>> Book.objects.all() 在这个语句后加上一个 aggregate() 子句就行了: >>> from dja
阅读全文
摘要:一、Django数据库模糊查询 1.1 Q查询 1 from django.db.models import Q 2 Q(question__startswith='What') 3 4 Q(question__startswith='Who') | Q(question__startswith='
阅读全文
摘要:一、通过 django cors headers 实现 官方文档 点击查看 1. pip install django cors headers 2. 配置settings.py文件 在INSTALLED_APPS里添加“corsheaders” INSTALLED_APPS = [ ... 'co
阅读全文
摘要:一、一个请求来到Django 的生命周期 FBV 不讨论 CBV: 请求被代理转发到uwsgi: 开始Django的流程: 首先经过中间件process_request (session等) 然后:url Xxx.as_view() 根据url映射到对应业务逻辑类 process_vi
阅读全文
摘要:一、配置缓存 https://www.jb51.net/article/124434.htm 二、缓存全站、页面、局部 三、自我控制的简单缓存API API 接口为:django.core.chache 存接口:cache.set(key, value, time_out
阅读全文
摘要:一、外键、OneToOne字段等on_delete为必须参数 如下ForeignKey字段源码,to、on_delete为必须参数 to:关联的表 on_delete:当该表中的某条数据删除后,关联外键的操作 related_name:反查参数,设置后可以在被关联表中通过该字段反查外键
阅读全文
摘要:一、SQL注入攻击 参考文章:原文点击 sql作为一种解释型语言,在运行时是由一个运行时组件解释语言代码并执行其中包含的指令的语言。基于这种执行方式,产生了一系列叫做代码注入(code injection)的漏洞 。它的数据其实是由程序员编写的代码和用户提交的数据共同组成的。程序员在w
阅读全文
摘要:一、母版 在实际应用中,在开发一个网站时,从首页到主页、到目录页,等等!有时候,我们大部分基础网页头、边框、侧边框、基础css、js等复用性很高,如果每一个html都要独立去写的话,就太麻烦了。 而把这些很多页面都共用的东西抽取出来,使用面向对象的思想,让子版去继承这些母版,然后只需要自己不同就好了
阅读全文
摘要:一/一对多反向查询 先定义两个模型,一个是A,一个是B,是一对多的类型。 ~~~ class A(models.Model): name= models.CharField('名称', max_length=32) class B(models.Model): a= models.Fo
阅读全文
摘要:一、各种查询统计操作 ~~~ def all(self) 获取所有的数据对象 def filter(self, args, kwargs) 条件查询 条件可以是:参数,字典,Q def exclude(self, args, kwargs) 条件查询 条件可以是:参数,字典,Q def
阅读全文
摘要:一、验证顺序 查看form下的源码了解顺序 BaseForm为基类,中间包含了is_valid校验方法 ~~~ @html_safe class BaseForm: ......... self.is_bound = data is not None or files is not N
阅读全文
摘要:一、ModelForm 源码 ~~~ class ModelForm(BaseModelForm, metaclass=ModelFormMetaclass): pass def modelform_factory(model, form=ModelForm, fields=None, exclud
阅读全文
摘要:一、Form表单 1.1 Form的几个功能 1. 验证用户数据(显示错误信息) 2. 初始化页面显示内容 3. HTML Form提交保留上次提交数据 4. 生成HTML标签 1.2 创建表单类Form 1. 创建的类必须继承类:forms.Form 2. 字段名必须与
阅读全文
摘要:一、ORM关系对象映射 1.1 db first 先手动在数据库建库,建立表结构,再根据表结构在代码中生成类 1.2 code first 先直接在代码中写好类,设计表结构,然后通过ORM命令自动去创建这些表 创建命令: python manage.py makemigrations
阅读全文
摘要:一、cookie 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的。Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用。比如判断用户是否是第一次访问网站。目前最新的规范是RFC 6265,它是一个由浏览器服务器共同协作实现的规范。 Cookie的处理分为: 服务器
阅读全文
摘要:一、修改配置 数据库 ~~~ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': 'root', 'PASSWORD': 'xxx', 'HOST': '', 'PORT'
阅读全文
摘要:一、一个http请求从开始到Django后台,到结束发生了什么 1. 通过用户输入的域名解析出IP地址 2. TCP/IP 三次握手 3. 进入nginx django 4.TCP/IP 四次挥手 1.1 通过用户输入的域名解析出IP地址 第一步: 客户端先检查本地是否有对应的IP地址缓存,找到就返
阅读全文
摘要:Django orm默认懒加载 Django orm默认使用的懒加载,即使用的时候才去访问数据库,且每次默认取最少的数据,当然这样有好处也有坏处... 坏处: 会导致频繁的查询数据库,如涉及到外键的时候,会先去取需要的数据集,再取外键的数据集,等于访问了两次数据库,那取n条数据就访问了
阅读全文
摘要:Django django是基于MTV结构的WEB框架 Model 数据库操作 Template 模版文件 View 业务处理 在Python中安装django 2.0 1 直接安装 2 .whl文件安装 pass 创建第一个Django 项目 命令行模式: 在python的安装目录下的Script
阅读全文