摘要: 视图层是Django处理请求的核心代码层,我们大多数Python代码都集中在这一层面。 它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合,返回给用户。视图层是真正的后端,是Python工程师的‘主营业务’。 Django的视图层包含下面一些主 阅读全文
posted @ 2020-04-30 17:34 哈喽哈喽111111 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 字段查询是指如何指定SQL WHERE子句的内容。它们用作QuerySet的filter(), exclude()和get()方法的关键字参数。 默认查找类型为exact。 下表列出了所有的字段查询参数: | 字段名 | 说明 | | | | | exact | 精确匹配 | | iexact | 阅读全文
posted @ 2020-04-30 17:33 哈喽哈喽111111 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 以下的方法不会返回QuerySets,但是作用非常强大,尤其是粗体显示的方法,需要背下来。 | 方法名 | 解释 | | | | | get() | 获取单个对象 | | create() | 创建对象,无需save() | | get_or_create() | 查询对象,如果没有找到就新建对象 阅读全文
posted @ 2020-04-30 17:31 哈喽哈喽111111 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 本节将详细介绍查询集的API,它建立在下面的模型基础上,与上一节的模型相同: 一、QuerySet何时被提交 在内部,创建、过滤、切片和传递一个QuerySet不会真实操作数据库,在你对查询集提交之前,不会发生任何实际的数据库操作。 可以使用下列方法对QuerySet提交查询操作: 迭代 Query 阅读全文
posted @ 2020-04-30 17:19 哈喽哈喽111111 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 查询操作是Django的ORM框架中最重要的内容之一。我们建立模型、保存数据为的就是在需要的时候可以查询得到数据。Django自动为所有的模型提供了一套完善、方便、高效的API,一些重要的,我们要背下来,一些不常用的,要有印象,使用的时候可以快速查找参考手册。 本节的内容基于如下的一个博客应用模型: 阅读全文
posted @ 2020-04-30 17:17 哈喽哈喽111111 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 在我们使用 命令创建新的应用时,Django会自动帮我们建立一个应用的基本文件组织结构,其中就包括一个 文件。通常,我们把当前应用的模型都编写在这个文件里,但是如果你的模型很多,那么将单独的 文件分割成一些独立的文件是个更好的做法。 首先,我们需要在应用中新建一个叫做 的包,再在包下创建一个 文件, 阅读全文
posted @ 2020-04-30 17:16 哈喽哈喽111111 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 很多时候,我们都不是从‘一穷二白’开始编写模型的,有时候可以从第三方库中继承,有时候可以从以前的代码中继承,甚至现写一个模型用于被其它模型继承。这样做的好处,我就不赘述了,每个学习Django的人都非常清楚。 类同于Python的类继承,Django也有完善的继承机制。 Django中所有的模型都必 阅读全文
posted @ 2020-04-30 17:15 哈喽哈喽111111 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 模型的元数据,指的是“除了字段外的所有内容”,例如排序方式、数据库表名、人类可读的单数或者复数名等等。所有的这些都是非必须的,甚至元数据本身对模型也是非必须的。但是,我要说但是,有些元数据选项能给予你极大的帮助,在实际使用中具有重要的作用,是实际应用的‘必须’。 想在模型中增加元数据,方法很简单,在 阅读全文
posted @ 2020-04-30 17:14 哈喽哈喽111111 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 我们都知道对于ManyToMany字段,Django采用的是第三张中间表的方式。通过这第三张表,来关联ManyToMany的双方。下面我们根据一个具体的例子,详细解说中间表的使用。 一、默认中间表 首先,模型是这样的: 在Group模型中,通过members字段,以ManyToMany方式与Pers 阅读全文
posted @ 2020-04-30 17:13 哈喽哈喽111111 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 所有的模型字段都可以接收一定数量的参数,比如CharField至少需要一个max_length参数。下面的这些参数是所有字段都可以使用的,并且是可选的。 null 该值为True时,Django在数据库用NULL保存空值。默认值为False。对于保存字符串类型数据的字段,请尽量避免将此参数设为Tru 阅读全文
posted @ 2020-04-30 17:11 哈喽哈喽111111 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 除了我们前面说过的普通类型字段,Django还定义了一组关系类型字段,用来表示模型与模型之间的关系。 一、多对一(ForeignKey) 多对一的关系,通常被称为外键。外键字段类的定义如下: 外键需要两个位置参数,一个是关联的模型,另一个是 选项。实际上,在目前版本中, 选项也可以不设置,但Djan 阅读全文
posted @ 2020-04-30 17:04 哈喽哈喽111111 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 一个模型(model)就是一个单独的、确定的数据的信息源,包含了数据的字段和操作方法。通常,每个模型映射为一张数据库中的表。 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 每个模型都是django.db.models.Model的子类 模型的每个字段(属性)代表数据表的某 阅读全文
posted @ 2020-04-30 16:03 哈喽哈喽111111 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 题外话: Django的教程写到这里,就进入了整体的第二部分,也是最关键的部分。此时有一个问题必须想清楚,那就是,以项目带动内容还是以参考书目的方式展开?为此,我考虑了很久。 我在开始学习Django的时候,也看过许多教程和博客,有的专述某个细节,虽然比较深入,但不够全面;有的比较泛泛但不够深入。有 阅读全文
posted @ 2020-04-30 16:02 哈喽哈喽111111 阅读(262) 评论(0) 推荐(0) 编辑
摘要: Django的admin站点是自动生成的、高度可定制的,它是Django相较其它Web框架独有的内容,广受欢迎。如果你觉得它不够美观,还有第三方美化版xadmin。请一定不要忽略它,相信我, 它值得拥有 ! 一、自定义后台表单 在前面的学习过程中,通过 语句,我们在admin站点中注册了Questi 阅读全文
posted @ 2020-04-30 15:46 哈喽哈喽111111 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 前面我们编写了一个经过测试的投票应用,现在让我们给它添加一张样式表和一张背景图片。 除了由服务器生成的HTML文件外,WEB应用一般需要提供一些其它的必要文件,比如图片文件、JavaScript脚本和CSS样式表等等,用来为用户呈现出一个完整的网页。在Django中,我们将这些文件统称为“静态文件” 阅读全文
posted @ 2020-04-30 15:31 哈喽哈喽111111 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 一、自动化测试概述 什么是自动化测试 测试是一种例行的、不可缺失的工作,用于检查你的程序是否符合预期。 测试可以划分为不同的级别。一些测试可能专注于小细节(比如某一个模型的方法是否会返回预期的值?), 一些测试则专注于检查软件的整体运行是否正常(用户在对网站进行了一系列的输入后,是否返回了期望的结果 阅读全文
posted @ 2020-04-30 15:29 哈喽哈喽111111 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一、表单form 为了接收用户的投票选择,我们需要在前端页面显示一个投票界面。让我们重写先前的 文件,代码如下: 简要说明: 上面的模板显示一系列单选按钮,按钮的值是选项的ID,按钮的名字是字符串"choice"。这意味着,当你选择了其中某个按钮,并提交表单,一个包含数据 的POST请求将被发送到指 阅读全文
posted @ 2020-04-30 15:17 哈喽哈喽111111 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 一、 新建项目 进入你期望的项目保存目录,运行下面的命令: $ django-admin startproject mysite 这将在目录下生成一个mysite目录,也就是你的这个Django项目的根目录。它包含了一系列自动生成的目录和文件,具备各自专有的用途。 注意:在给项目命名的时候必须避开D 阅读全文
posted @ 2020-04-30 11:11 哈喽哈喽111111 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模板。例如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页面:显示指定年内的所有博客文章 基于月的博客页面:显示指定月内的所有博客文章 基于天的博客页面:显示 阅读全文
posted @ 2020-04-30 11:08 哈喽哈喽111111 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 1.项目的settings.py文件 INSTALLED_APPS中删除或者注释掉,这是针对数据库这一块儿的 2.项目的urls.py文件 删除或这注释掉应用的路径导入 urlpatterns中删除或注释应用的路径,真是针对应用路由的 3.应用的admin.py文件 admin.site.regis 阅读全文
posted @ 2020-04-30 11:03 哈喽哈喽111111 阅读(970) 评论(0) 推荐(0) 编辑