Django 自学笔记兼学习教程第7章第3节--拓展CBVs(Class-based views) 点击查看教程总目录 一般而言,直接使用原生的Class-based views,能展现的样式和内容是固定的. 为了根据实际情况去定制View,我们需要继承django自带的View并修改. 在修改之前,我们需要先了解下CBVs. 1 CBV的HTTP方法 先上一个例子,如果要用视图方法来处理各种HTTP方法,代码大概会如下: # views.py def simple_function_based…
本篇博客只有目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节,说明内容还没开始编辑 本项目笔记仍在不断创作中,还有些内容会根据自身所学不断更新完善 本项目主要为markdwon文档,用于记录我学习使用django的经历,梳理自身所学,同时也可以供其他学习者作为教程参考. 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 总目录 简介 1 前言 2 框架版本与相关工具 第一章 入门 1 一 新建项目 2 二 常用配置 第二章 URL与View 1 U…
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里直接…
Django 自学笔记兼学习教程第2章第2节--URL详细匹配规则 点击查看教程总目录 本章第一节中我们简单介绍了URL与View关系 简单概括来说,网页请求的url会通过urls.py里面的urlpatterns列表中的urlpattern来匹配对应的view方法,然后view方法会返回一个HttpResponse 过程示意如下: url - > urlpattern - > view 本节就来详细说下这个匹配关系 本文参考文献:module-django.urls.conf 1- urlp…
Django 自学笔记兼学习教程第3章第3节--模板常用语法 点击查看教程总目录 本文主要参考:https://docs.djangoproject.com/en/2.2/ref/templates/builtins/ 模板语法的四种结构中,Comments(注释)结构都是固定的,没有什么其他的变化和方法. 所以这里介绍下其他三种结构的各种用法. 1 Variables(变量) 该结构基础用法为 {{ variable}} python为面向对象语言,所以程序里也会有各种对象,该结构中获取变量对…
Django 自学笔记兼学习教程第6章第4节--forms进阶操作,重写forms方法 点击查看教程总目录 1 - 重写clean方法 在本章第三节中,我们举了个注册学生账号的例子,里面我们使用模型来建立表单. 一般来讲,注册账号的页面,都需要用户填写两次密码进行确认. 那么我们这里需要对第三节中的代码进行一个拓展. 首先是要新增一个确认密码的字段,这个很简单,在StuRegisterForm中添加这样一行即可: confirm_password = forms.CharField(widget…
Django 自学笔记兼学习教程第0章第1节--前言 点击查看教程总目录 1 最初的想法 自学Django已经有一段时间了,自认收获不少,学的还算可以,然而实际去做项目写代码的时候,很多用法记得不清,又要花时间去网上去查找相关的用法,很是低效,颇费时间. 所以决定用博客来做记录,方便后面自己查阅相关的用法,也能温故知新,熟悉以前所学,不至于学了就往,起码有个博客能够回味下. 2 进一步的考量 记录博客一方面能够梳理下自身所学,把以往模糊的地方想明白再用文字清晰的表达出来. 另一方面也能和大家交流…
Django 自学笔记兼学习教程第0章第2节-- 框架版本与相关工具 点击查看教程总目录 1 版本 python: 3.6.5 Django: 2.2.11 (有些地方我也会对比下各种版本的区别) 安装方法 pip3 install Django==2.2.11 一般来讲,2.1和2.2使用部分没有什么太大差别. 不过如果你的Django版本比较低的话,建议升级到2.2.11 升级方法: pip3 install --upgrade Django==2.2.11 补充说明: 安装过程中下载可能十…
Django 自学笔记兼学习教程第1章第1节--一 新建项目 点击查看教程总目录 1- 命令行新建Django项目 新建项目命令(project_name处为项目名) django-admin startproject project_name 有报错的话,查看Problems running django-admin. 具体来说,选择一个文件夹(假设名为root),在该文件夹里打开命令窗口,新建一个名为demo1的项目,则命令行输入如下: django-admin startproject d…
Django 自学笔记兼学习教程第1章第2节--二 常用配置 点击查看教程总目录 新手建议简单浏览本文,不理解的建议跳过,不要强行理解. Django的设置涉及多个模块,需要了解Django的一些相关知识,才好理解每个设置是干什么用的, 建议在后面的章节中学过了相关的知识和概念,再回过头来看对应的设置. 1-初识settings.py: 项目的配置文件,可用于配置该项目的所有配置. 对于一个项目而言,很多配置新手是用不到的,也有很多配置不推荐更改. 这里主要给大家介绍一些常用的配置,同时也会简单…
Django 自学笔记兼学习教程第2章第1节--URL与View关系 点击查看教程总目录 参考:how-django-processes-a-request 1- Django处理请求(request)过程 简单概括如下: 根据ROOT_URLCONF(位于setting.py)选择对应的url解析模块(默认是urls.py) 加载上一步找到的url解析模块(默认是urls.py)查找变量urlpatterns 按顺序遍历urlpatterns里面的urlpattern,返回第一个匹配reque…
Django 自学笔记兼学习教程第2章第3节--视图(view)函数介绍 点击查看教程总目录 参考文献:https://docs.djangoproject.com/en/2.2/topics/http/views/ 1- 视图(view)函数介绍 先上一段官方说明: A view function, or view for short, is simply a Python function that takes a Web request and returns a Web response…
Django 自学笔记兼学习教程第2章第4节--视图常用 点击查看教程总目录 1 - shortcut 视图函数需要返回一个HttpResponse对象或者其子类对象. 不过很多时候直接手写建立一个HttpResponse对象比较麻烦. 所以Django实现了建立HttpResponse对象的一些快捷方法: 这些方法收集在django.shortcuts包中. 比如下一章将会频繁使用的render方法, 还有本章第二部分会介绍的redirect方法, 都是django.shortcuts包中的.…
Django 自学笔记兼学习教程第3章第1节--模板(Template)基础 点击查看教程总目录 1 介绍 模板文件:让Django能够自动生成html代码 作为一个web框架,Django需要需要在html页面里展示python变量值或使用python代码 直接在html里面写入python代码是不行的,所以需要一种方便的方式(根据python变量或python代码)来动态生成HTML. 最常见的方法是使用模板. 注:想要弄懂模板,必须先懂点HTML,不用精通,认识和了解html基础语法.代码…
Django 自学笔记兼学习教程第3章第2节--模板语法介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/templates/#the-django-template-language 0 总介绍 官方文档介绍: A Django template is simply a text document or a Python string marked-up using the Django template language…
Django 自学笔记兼学习教程第3章第4节--模板继承 点击查看教程总目录 在介绍具体的技术之前,先介绍在什么样的场景中,需要使用这样的技术,我觉得这对于新手理解起来很重要. 一般来说,要渲染一个页面我们就需要新建一个对应的模板,然而一个系统中,多个页面常常会有很多功能相似的内容区域,比如都有头部栏.侧边栏.底部信息栏等等,这样的内容区域是多个页面共有的,如果我们不思考采用新的技术方式,而是把在每个页面都写一遍这种共有内容的代码,不仅是代码重复的问题,而且会导致管理的混乱,比如要修改或者检查等…
Django 自学笔记兼学习教程第4章第1节--模型(Models)介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/db/models/ 1 介绍 模型是关于数据的唯一.确定的信息源.它包含存储数据的基本字段和行为.通常,每个模型映射到一个数据库表. 以上是官方文档的介绍,但对于初学者,这太绕了, 粗略的讲: 建立一个模型(Model)相当于建立了一个数据库表(table). 模型规定属性,就是数据库表规定字段(field…
Django 自学笔记兼学习教程第4章第2节--模型(models)中的Field(字段) 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/ref/models/fields/ 一般来说,Field不需要另行导入,因为导入models就够了,Field类都在models from django.db import models 1 基类django.db.models.Field django.db.models.Field是所有Field类…
Django 自学笔记兼学习教程第4章第3节--模型(models)主键外键 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/ref/models/fields/ 1 主键 梳理自官方文档:automatic-primary-key-fields 不设置主键的情况下,Django会自动为每个模型提供以下字段: id = models.AutoField(primary_key=True) 这是个自增(auto-incrementing)主键…
Django 自学笔记兼学习教程第5章第1节--基础增删查改 点击查看教程总目录 第四章介绍了模型类models.Model和创建模型,相当于介绍了数据库表和如何创建数据库表. 这一章将介绍如何使用模型对数据库表进行增删查改, 注意:修改了模型类models.Model后一定要更新数据库(详见第四章第一节第三部分),如果数据库表进行增删查改则不必. 0 - 超实用工具介绍--Django下的交互式命令行 Django项目中,如果在项目实际使用的代码中,通过增删查改实现对应的业务逻辑, 测试起来会…
Django 自学笔记兼学习教程第5章第2节--进阶查询--Queryset 点击查看教程总目录 Queryset相关内容其实蛮多的,本文只介绍一些常用的,详细的推荐查询官方文档:queryset-api 0 - 数据示例 为了方便本文后面内容举例,这里先展示下models.py和数据库表内容, myapp/models.py在本章第一节,如下: from django.db import models class Person(models.Model): gender = ( ('male'…
Django 自学笔记兼学习教程第5章第3节--综合使用示例 点击查看教程总目录 1 - 生成学号场景 场景描述: 教务管理系统中,学生注册账号,学生选择年级后,生成唯一学号. 细节分析: 学生学号由年级号和年级内编号组成. 年级号由学生选择,年级内编号由系统生成,生成规则为按年级内学生注册时间排序依次生成编号, 如第一个注册的年级内编号为000001,第二个注册的为000002,依次类推. 假设学生选择的学号为2020, 那么生成过程如下 grade = "2020" # order…
Django 自学笔记兼学习教程第6章第1节--表单(Form)介绍 点击查看教程总目录 1 介绍 如果网站要让用户输入并提交数据(比如注册登录),则需要用到表单. 单纯的html也能写出表单,格式一般是<form>...</form> Django实现了功能更强大的表单(django.forms.Form),让开发者能够更高效的开发. 2 代码示例 这里我们以一个最简单的登录表单为例(不做是否注册的检查) 在应用文件夹my_app下新建forms.py,代码如下 #usr/bin…
Django 自学笔记兼学习教程第6章第2节--表单(Form)基础操作 点击查看教程总目录 1 - 编写表单类 创建新的表单类的代码,一般写到一个专门的forms.py文件中(一般放在对应的app文件夹下) 在本章第一小节,我们已经展示了如何去创建表单类的代码,这里我们详细看看这些代码 #usr/bin/env python #-*- coding:utf-8- -*- from django import forms class LoginForm(forms.Form): uid = fo…
Django 自学笔记兼学习教程第6章第3节--使用模型(models)创建表单(form) 点击查看教程总目录 本文参考:Forms for models 1 - 初步介绍 很多时候,我们使用的表单,是与模型密切关联的(官方文档称之为紧密映射). 比如注册学生账号,其表单与学生的模型字段基本是一一对应的. 这种情况下,自己一个一个去编辑设置表单的字段比较费事,而且如果模型中有字段修改,表单这边也要去修改. 在这种情况下,在表单中定义字段类型是多余的,因为您已经在模型中定义了字段. 因此,Dja…
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解.因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题.(当然,不能是简简单单就可以百度到的问题-.-) 我所选用的教材是<The Django Book 2.0>,本节是第八章,高级视图和URL配置. 在基础部分…
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解.因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题.(当然,不能是简简单单就可以百度到的问题-.-) 我所选用的教材是<The Django Book 2.0>,本节是Admin部分,对应书中第六章. ----…
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解.因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题.(当然,不能是简简单单就可以百度到的问题-.-) 我所选用的教材是<The Django Book 2.0>,本节是模型部分,对应书中第五章. -------…
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解.因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题.(当然,不能是简简单单就可以百度到的问题-.-) 我所选用的教材是<The Django Book 2.0>,本节是我自己插入的数据库安装步骤,针对不大了解数…
Django 基础教程 这是第一篇 Django 简介 »  Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单!本教程一直在更新,从开始写到现在大概写了一年多了,现在也一直在坚持写,每一篇教程都可能随时更新,可以在网站首页看到最近更新的情况. 我阅读学习了全部的 Django英文的官方文档,觉得国内比较好的Django学习资源不多,所以决定写自己的教程.本教程开始写的时候是 Django 的版本是 1.6,…