本文首发于微信公众号:Hunter后端 原文链接:Django笔记十九之manager用法介绍 首先介绍一下 manager 的使用场景,比如我们有一些表级别的,需要重复使用的功能,都可以使用 manager 来实现. 比如我们在前面的笔记中介绍的 model 的 create().update() 等方法,Blog.objects.create() 中前面的 objects 就是一种 manager,不过这是系统给我们定义的. 那么我们也可以自己通过 manager 的方式来定义一些通用的函数…
本文首发于公众号:Hunter后端 原文链接:Django笔记二十九之中间件介绍 这一节介绍一下 Django 的中间件. 关于中间件,官方文档的解释为:中间件是一个嵌入 Django 系统的 request 和 response 的钩子框架,是一个能够全局改变 Django 输入/输出的系统. 我们可以这样理解,一个 request 请求发送到 Django 系统的过程中,在经过路由和视图的处理前,会先经过一层处理,这个处理操作可以是日志记录,可以是登录验证甚至你想在系统里定义的功能,这个操作…
这一篇笔记介绍 Django 系统 model 的外键处理,ForeignKey 以及相应的处理方法. 这是一种一对多的字段类型,表示两张表之间的关联关系. 本篇笔记的目录如下: on_delete related_name related_query_name 外键字段的保存 1.on_delete 假设有两个 application,app1 和 app2 app1 下的 某个 model 为 App1 app2 下的 某个 model 为 App2 # app1/models.py cla…
第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍 配置django的admin数据库管理后台 首先urls.py配置数据库后台路由映射,一般这个路由映射在生成项目的时候已经生成了 from django.conf.urls import url from django.contrib import admin from app1 import views urlpatterns = [ url(r'admin/', admin.sit…
Django 自学笔记兼学习教程第7章第1节--基于类的视图(Class-based views)介绍 点击查看教程总目录 1 介绍 Class-based views (CBVs) are views generated from models. Class-based views:基于模型自动生成的视图. 在web开发中,为模型(models)制作各种各样的视图是工作量很大的事情, Class-based views简化了这些工作. 2 代码 CBVs可以直接使用,例如在urls.py里直接…
这篇笔记介绍字段的类型 Field Type. Django 的model 下的 field 对应的是 MySQL 中的表字段,而我们定义的 field 的类型则对应 MySQL 中的字段类型. 本次主要介绍以下几种: CharField IntegerField DateField/DateTimeField BooleanField FloatField TextField DecimalField 其中,比较重要的 ForeignKey,ManyToMany,OneToOne 类型的我们单…
本篇笔记目录如下: select_related prefetch_related 在介绍 select_related 和 prefetch_related 这两个函数前,我们先来看一个例子. 对于,Entry 和 Blog 这两个 model,前面介绍过,Blog 是 Entry 的外键,如下: class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() clas…
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解.因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题.(当然,不能是简简单单就可以百度到的问题-.-) 我所选用的教材是<The Django Book 2.0>,本节是模型部分,对应书中第五章. -------…
Django 自学笔记兼学习教程第7章第3节--拓展CBVs(Class-based views) 点击查看教程总目录 一般而言,直接使用原生的Class-based views,能展现的样式和内容是固定的. 为了根据实际情况去定制View,我们需要继承django自带的View并修改. 在修改之前,我们需要先了解下CBVs. 1 CBV的HTTP方法 先上一个例子,如果要用视图方法来处理各种HTTP方法,代码大概会如下: # views.py def simple_function_based…
本文首发于公众号:Hunter后端 原文链接:Django笔记二十八之数据库查询优化汇总 这一篇笔记将从以下几个方面来介绍 Django 在查询过程中的一些优化操作,有一些是介绍如何获取 Django 查询转化的 sql 语句,有一些是理解 QuerySet 是如何获取数据的. 以下是本篇笔记目录: 性能方面 使用标准的数据库优化技术 理解 QuerySet 操作尽量在数据库中完成而不是在内存中 使用唯一索引来查询单个对象 如果知道需要什么数据,那么就立刻查出来 不要查询你不需要的数据 使用批量…