django
django
So.ne
while 2020:
earn() and learn()
展开
-
Django2.2丨Django的验证系统
User对象用户对象是认证系统的核心。用于允许诸如限制访问,注册用户,配置文件,将内容与创建者关联等功能。创建用户创建用户可以使用create_uers()函数>>> from django.contrib.auth.models import User>>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')# At this point, use原创 2020-08-14 10:58:32 · 127 阅读 · 0 评论 -
Django2.2丨基于类的视图
Django提供了适用于很多应用的基本视图类。所有视图继承自View类,处理视图链接到URLs,HTTP方法调度和其他简单功能。RedirectView用于简单的HTTP重定向,TemplateView扩展基类来使它能渲染模板。URLconf中简单使用使用通用视图最简单的方式是在URLconf中直接创建。from django.urls import pathfrom django.views.generic import TemplateViewurlpatterns = [ pat原创 2020-08-13 10:16:21 · 134 阅读 · 0 评论 -
Django2.2丨从模型创建表单
ModelFormDjango提供了一个辅助类可以从一个Django模型创建一个Form类示例>>> from django.forms import ModelForm>>> from myapp.models import Article# Create the form class.>>> class ArticleForm(ModelForm):... class Meta:... model = Art原创 2020-08-12 10:01:25 · 321 阅读 · 0 评论 -
Django2.2丨表单
Django的Form类Django表单系统的核心组件是Form类。Form类描述一张表单并决定它如何工作及呈现。类似于模型类的字段映射到数据库字段的方式,表单类的字段会映射到HTML表单的<input>元素。构建一张表单示例<form action="/your-name/" method="post"> <label for="your_name">Your name: </label> <input id="your_na原创 2020-08-10 20:24:13 · 135 阅读 · 0 评论 -
Django2.2丨会话
配置会话(session)引擎默认情况下,Django在数据库存储会话(使用django.contrib.sessions.models.Session)。使用缓存会话使用缓存会话,可以提高性能,使用原创 2020-08-09 16:40:59 · 121 阅读 · 0 评论 -
Django2.2丨中间件
中间件是Django请求/响应处理的钩子框架。它是一个轻量级的,低级的“插件”系统,用于全部改变Django的输入或输出。自定义中间件中间件是一个可调用的程序,它接受get_response可调用并返回中间件。示例def simple_middleware(get_response): # One-time configuration and initialization. def middleware(request): # Code to be executed原创 2020-08-08 17:31:05 · 195 阅读 · 0 评论 -
Django2.2丨快捷函数
render()render(request, template_name, context=None, content_type=None, status=None, using=None)必选参数request用于生成此响应的请求对象template_name要使用的模板的全名或模板名称的序列。可选参数context添加到模板上下文的值的字典。默认情况下是一个空字典。如果字典中的值是可调用的,则视图将在渲染模板之前调用它。content_type用于结果文档的MI原创 2020-08-07 20:09:03 · 159 阅读 · 0 评论 -
Django2.2丨文件上传
简单文件上传# forms.pyfrom django import formsclass UploadFileForm(forms.Form): title = forms.CharField(max_length=50) file = forms.FileField()只有在请求是通过POST提交且提交的<form>表单有enctype="multipart/form-data"属性的时候,request.FILES才会包含文件数据,否则的话,request.FI原创 2020-08-06 20:45:41 · 246 阅读 · 0 评论 -
Django2.2丨URL调度器
Django如何处理一个请求Django系统执行代码算法Django确定使用根URLconf模块。通常是ROOT_URLCONF设置的值,如果传入HttpRequest对象拥有urlconf属性(通过中间件设置),它的值将被用来代替ROOT_URLCONF设置Django加载该python模块并寻找可用urlpatterns。Django一次匹配每个URL模式,在与请求的URL匹配的第一个模式停下来一旦有URL匹配成功,Django导入并调用相关的视图。如果没有URL被匹配,原创 2020-08-05 21:03:30 · 142 阅读 · 0 评论 -
Django2.2丨数据库连接优化
理解QuerySet的执行过程QuerySets是惰性的<querysets-are-lazy>缓存属性除了缓存整个“QuerySet”之外,还有ORM对象上属性结果的缓存示例>>> entry = Entry.objects.get(id=1)>>> entry.blog # Blog object is retrieved at this point>>> entry.blog # cached version, n原创 2020-08-04 19:05:59 · 178 阅读 · 0 评论 -
Django2.2丨执行原生SQL查询
执行原生查询管理器方法raw()能用于执行原生SQL查询,返回模型实例。Manager.raw(raw_query, params=None, translations=None)示例class Person(models.Model): first_name = models.CharField(...) last_name = models.CharField(...) birth_date = models.DateField(...)执行自定义SQL>&原创 2020-08-03 20:42:08 · 246 阅读 · 0 评论 -
Django2.2丨管理器
Manager是一种接口,它赋予了Django模型操作数据库的能力。Django应用中每个模型拥有至少一个Manager。管理器名称默认情况下,Django为每个模型类添加一个名为objects的Manager。可以通过自定义重命名Manager。from django.db import modelsclass Person(models.Model): #... people = models.Manager()Person.people.all()会返回包含所有Perso原创 2020-08-02 10:26:03 · 104 阅读 · 0 评论 -
Django2.2丨聚合
Django数据库抽象API描述了使用Django queries来增删改查单个对象的方法。from django.db import modelsclass Author(models.Model): name = models.CharField(max_length=100) age = models.IntegerField()class Publisher(models.Model): name = models.CharField(max_length=300)原创 2020-07-27 14:14:44 · 100 阅读 · 0 评论 -
Django2.2丨执行查询
创建数据模型后,Django会有一套数据库抽象API,允许创建,检索,更新和删除对象。from django.db import modelsclass Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self): return self.nameclass Author(models.Model):原创 2020-07-26 15:56:42 · 142 阅读 · 0 评论 -
Django2.2丨模型
模型模型准确且唯一的描述了数据。它包含存储的数据的重要字段和行为。一般来说,每一个模型都映射一张数据库表。基础:每个模型都是一个Python的类,继承django.db.models.Model模型类的每个属性都相当于一个数据库的字段Django提供了一个自动生成访问数据库的API示例定义一个Person模型,拥有first_name和last_nameform django.db import modelsclass Person(models.Model):原创 2020-07-25 18:39:30 · 184 阅读 · 0 评论 -
Django2.2丨自定义admin站点
自定义后台表单通过amdin.site.register(Question)注册Question模型,Django能够构建一个默认的表单用于展示。# polls/admin.pyfrom django.contrib import adminfrom .models import Questionclass QuestionAdmin(admin.ModelAdmin): fields = ['pub_date', 'question_text']admin.site.regis原创 2020-07-24 12:31:45 · 156 阅读 · 0 评论 -
Django2.2丨静态文件
自定义 应用的界面和风格在polls目录下创建一个名为static的目录。Djngo将在该目录下查找静态文件。Django的STATICFILES_FINDERS设置包含了一系列的查找器。其中AppDirectoriesFinder是默认查找器中的一个,它会在每个INSTALLED_APPS中指定的应用的子文件中寻找名称为static的特定文件夹。静态文件命名空间Django只会使用第一个找到的静态文件。如果其它应用中有一个相同名字的静态文件,Django将无法区分它们。如果要指引Django选择正原创 2020-07-23 15:21:11 · 227 阅读 · 0 评论 -
Django2.2丨测试
自动化测试简介测试,是用来检查代码正确性的一些简单的程序。测试在不同的层次中都存在。有些测试只关注某个很小的细节(某个模型的某个地方的返回值是否满足预期),而另一些测试可能检查对某个软件的一些列操作(某一用户输入序列是否造成了预期的结果?)。测试的优点:测试节约可以节约时间测试不仅能发现错误,而且能预防错误测试使你的代码更由有吸引力测试有利于团队协作编写测试polls应用里有一个小bug,要求是如果Question是在一天之内发布的,Question.was_published_rec原创 2020-07-22 16:11:08 · 130 阅读 · 0 评论 -
Django2.2丨表单和通用视图
编写一个简单的表单编写投票详情页模板# polls/templates/polls/detail.html<h1>{{ question.question_text }}</h1>{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}<form action="{% url 'polls:vote' question.i原创 2020-07-21 13:23:58 · 115 阅读 · 0 评论 -
Django2.2丨视图和模板
概况Django中的视图的概念是:一类具有相同功能和模板的网页的集合。在Django中,网页和其他内容都是从视图派生而来。每一个视图表现为一个简单的Python函数(或是方法,如果是在基于类的视图里的话)。Django将会根据用户请求的URL来选择使用用哪个视图。编写更多视图在polls/views.py里添加更多视图。增加一些接受参数# polls/views.pydef detail(request, question_id): return HttpResponse("You're原创 2020-07-20 12:35:24 · 128 阅读 · 0 评论 -
Django2.2丨模型和admin站点
第二部分数据库配置mysite/settings.py里面包含了Django项目设置的Python模块。通常,配置文件使用SQLite作为默认数据库。使用其他数据库,需要安装合适的database bindings,然后改变设置文件中DATABASES 'default’项目中的一些键值:ENGINE :可选值有"django.db.backends.sqlite3’,‘django.db.backendes.postgresql’,‘django.db.backend.mysql’或’dj原创 2020-07-19 10:13:41 · 186 阅读 · 1 评论 -
Django2.2丨请求和响应
第一部分查看django版本指令python -m django --version输出版本号,表示已经安装此版本的Django;如果得到"No module named django"的错误指示,则表明未安装。注:Django2.2支持python3.5+创建项目创建项目命令django-admin startproject mysite代码将会在当前目录创建一个mysite目录。注:项目名字要避免使用Python或Django的内部保留字来命名,避免产生冲突。项目结构mysi原创 2020-07-17 13:45:17 · 109 阅读 · 0 评论 -
Django丨中间件
中间件Django中间件是修改Django request或者response对象的钩子,可以理解为是介于HttpRequest与HttpResponse处理之间的一道处理过程。浏览器从请求到响应的过程中,Django需要通过很多中间件来处理。Django中间件作用:修改请求,即传送到view中的HttpRequest对象修改响应,即view返回的HttpResponse对象中间件组件配置在settings.py文件的MIDDLEWARE选项列表中。配置中的每个字符串选项都是一个类,也原创 2020-07-16 20:39:05 · 100 阅读 · 0 评论 -
Django丨cookie与session
cookie与sessioncookie是存储在客户端计算机上的文本文件,并保留了各种跟踪信息。识别返回用户包括三个步骤:服务器脚本向浏览器发送一组Cookie,例如:姓名 、年龄或识别号等浏览器将这些信息存储在本地计算机上,已备将来使用。当下一次浏览器向Web服务器发送任何请求时,浏览器会把这些Cookie信息发送到服务器,服务器将使用这些信息来识别用户。HTTP是一种"无状态"协议,每次客户端检索网页时,客户端打开一个单独的连接到Web服务器,服务器会自动不保留之前客户端请原创 2020-07-15 20:25:38 · 97 阅读 · 0 评论 -
Django丨用户认证
用户认证(Auth)组件Django用户认证(Auth)组件一般用在用户的登录注册上,用于判断当前的用户是否合法,并跳转到登录成功或失败页面。Django用户认证(Auth)组件需要导入auth模块# 认证模块from django.contrib import auth# 对应数据库from django.contrib.auth.models import User返回值是用户对象创建用户对象的三种方法:create():创建一个普通用户,密码是明文create_user()原创 2020-07-14 11:47:01 · 170 阅读 · 1 评论 -
Django丨Form组件
From组件Django Form组件用于对页面进行初始化,生成HTML标签,此外还可以对用户提交对数据进行校验(显示错误信息)。报错信息显示顺序:先显示字段属性中的错误信息,然后再显示局部钩子的错误信息。若显示了字段属性的错误信息,就不会显示局部钩子的错误信息。若有全局钩子,则全局钩子是等所有的数据校验完,才开始进行校验,并且全局钩子的错误信息一定会显示。使用Form组件,需要先导入froms:from django import forms在app01目录下创建for原创 2020-07-13 13:20:59 · 152 阅读 · 0 评论 -
Django丨聚合与分组查询
多表实例聚合查询聚合查询函数时对一组值执行计算,并返回单个值Django使用聚合查询前要先从django.db.models引用Avg、Max、Min、Count、Sum(首字母大写)from django.db.models import Avg, Max, Min, Count, Sum # 引入函数聚合查询返回值的数据类型是字典。聚合函数aggregate()是QuerySet的一个终止子句,生成的一个汇总值,相当于count()。使用aggregate()后,数据类型就变为字原创 2020-07-12 09:00:26 · 1872 阅读 · 0 评论 -
Django丨多表实例
ORM - 多表实例表与表之间得关系分为三种一对一:一个人对应一个身份证号码,数据字段设置为unique。一对多:一个家庭有多个人,一般通过外键实现多对多:一个学生有多门课程,一个课程有多个学生,一般通过第三个表来实现关联创建模型class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=5, decimal_places=原创 2020-07-11 08:48:16 · 267 阅读 · 0 评论 -
Django丨ORM - 单表实例
ORM - 单表实例创建一个项目django-admin.py startproject app01在settings.py中修改INSTALLED_APPSINSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages',原创 2020-07-10 09:07:10 · 205 阅读 · 0 评论 -
Django丨Admin管理工具
Admin管理工具Django提供了基于web的管理工具Django自动管理工具是django.contrib的一部分。在项目的settings.py中的INSTALLED_APPS# HelloWorld/HelloWorld/settings.pyINSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.con原创 2020-07-09 17:24:43 · 181 阅读 · 0 评论 -
Django丨路由
Django路由路由就是根据用户请求的URL链接来判断对应的处理程序,并返回处理结果,也就是URL与Django的视图建立映射关系。Django路由在urls.py配置,urls.py中的每一条配置对应相应的处理方法。Django不同版本urls.py配置有点不一样Django1.1.x 版本url()方法:普通路径和正则路径均可使用,需要自己手动添加正则首位限制符号。from django.conf.urls import url # 用 url 需要引入urlpatterns =原创 2020-07-08 14:58:34 · 112 阅读 · 0 评论 -
Django丨视图
Django视图视图层一个视图函数,简称视图,是一个简单的Python函数,它接受Web请求并且返回Web响应。响应可以是一个HTML页面、一个404错误页面、重定向页面、XML文档等等无论视图本身包含什么逻辑,都要返回响应。代码写在哪里都可以,只要在Python目录下面,一般放在项目的views.py文件中。每个视图函数都负责返回一个HttpResponse对象,对象中包含生成的响应。视图层中两个重要的对象:请求对象(request)与响应对象(HttpResponse)请求对象:Http原创 2020-07-07 21:43:06 · 105 阅读 · 0 评论 -
Django丨表单
Django表单HTTP请求HTTP协议以请求-回复的方式工作。客户发送请求时,可以在请求中附加数据。服务器通过解析请求,就可以获得客户传来的数据,并根据URL来提供特定的服务。Request对象每个view函数的第一个参数是一个HttpRequest对象示例from django.http import HttpResponsedef hello(request): return HttpResponse("Hello world")HttpRequest对象包含当前请求UR原创 2020-07-06 13:39:11 · 81 阅读 · 0 评论 -
Django丨模型
Django模型Django对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。Django为这些数据库提供了统一的调用API。原创 2020-07-05 12:02:03 · 124 阅读 · 0 评论 -
Django丨模块
Django模块在HelloWorld目录下创建templayes目录,并建立hello.html文件HelloWorld/|-- HelloWorld| |-- __init__.py| |-- __init__.pyc| |-- settings.py| |-- settings.pyc| |-- urls.py| |-- urls.pyc| |-- views.py| |-- views.pyc| |-- wsgi.py| `-- w原创 2020-07-04 21:20:41 · 192 阅读 · 0 评论 -
Django丨创建项目
创建项目版本:Python:3.7.4Django:3.0.6创建项目使用django-admin.py来创建HelloWorld项目:django-admin startproject HelloWorld项目目录结构$ cd HelloWorld/$ tree.|-- HelloWorld| |-- __init__.py| |-- asgi.py| |-- settings.py| |-- urls.py| `-- wsgi.py`-- m原创 2020-07-03 20:42:01 · 137 阅读 · 0 评论 -
Django笔记丨Model补充及静态文件
Model补充导图地址原创 2020-05-22 17:56:07 · 78 阅读 · 0 评论 -
Django笔记丨Views
Views导图地址原创 2020-05-21 15:31:08 · 81 阅读 · 0 评论 -
Django笔记丨Template
Template导图地址原创 2020-05-20 10:49:08 · 77 阅读 · 0 评论 -
Django笔记丨Model
Model导图地址原创 2020-05-19 14:35:49 · 63 阅读 · 0 评论