摘要: 新建的django项目中没有应用app01??? models中也没有UserInfo表???? 但在migrate是却一直报错!!!!! 产生此种现象的原因: 之前的项目中肯定是用到过应用app01,而且在models定义过UserInfo表(继承过django自带表,会产生缓存) 解决方式: ( 阅读全文
posted @ 2019-07-21 23:49 笑得好美 阅读(1996) 评论(0) 推荐(0)
摘要: 类封装高级版: 函数低级版: 阅读全文
posted @ 2019-07-21 23:45 笑得好美 阅读(314) 评论(0) 推荐(0)
摘要: 本项目采用django自带的数据库 项目文件 models.py 1 from django.db import models 2 from django.contrib.auth.models import AbstractUser 3 # Create your models here. 4 5 阅读全文
posted @ 2019-07-21 23:38 笑得好美 阅读(546) 评论(0) 推荐(0)
摘要: 项目文件: models.py 1 from django.db import models 2 from django.contrib.auth.models import AbstractUser 3 # Create your models here. 4 5 class UserInfo(A 阅读全文
posted @ 2019-07-21 23:31 笑得好美 阅读(272) 评论(0) 推荐(0)
摘要: RABC:基于角色的权限访问控制(Role-Based Access Control) 一般在登录系统认证通过后,会先确定的该用户的操作权限,判断用户的后续操作是否合法! RABC至少需要三张表:用户表--角色表--权限表(多对多的关系比较合理) 用户表:用来存储用户名和密码,进行登录校验,可以重写 阅读全文
posted @ 2019-07-21 23:24 笑得好美 阅读(541) 评论(0) 推荐(0)
摘要: django中的admin管理系统: 在浏览器直接访问路径为admin的url,使用超级超级管理员(先手动创建python manage.py createsuperuser)进行登录即可; 通过admin管理数据库表格,需要在应用的admin.py文件中进行注册; 可以通过自定义类(继承model 阅读全文
posted @ 2019-07-21 23:22 笑得好美 阅读(328) 评论(0) 推荐(0)
摘要: 项目文件: views.py 1 from django.shortcuts import render, HttpResponse 2 3 # Create your views here. 4 5 def index(request): 6 return render(request, 'ind 阅读全文
posted @ 2019-07-21 23:20 笑得好美 阅读(186) 评论(0) 推荐(0)
摘要: 项目文件: models.py(建表) 1 from django.db import models 2 # Create your models here. 3 4 class Book(models.Model): 5 title = models.CharField(max_length=32 阅读全文
posted @ 2019-07-21 23:15 笑得好美 阅读(179) 评论(0) 推荐(0)
摘要: django分页: from django.shortcutsimportrender from django.core.paginator import Paginator,EmptyPage, PageNotAnInteger from app01 import models #分页对象和当前页 阅读全文
posted @ 2019-07-21 22:57 笑得好美 阅读(1079) 评论(0) 推荐(0)
摘要: models.py 1 from django.db import models 2 3 from django.contrib.auth.models import AbstractUser 4 5 6 class Userinfo(AbstractUser): 7 8 email = model 阅读全文
posted @ 2019-07-21 22:54 笑得好美 阅读(547) 评论(0) 推荐(0)
摘要: Django自带auth_user表操作: views.py from django.contrib import auth#引入auth模块 from django.contrib.auth.models import User # auth应用中引入User类 (1)用户注册,添加记录(crea 阅读全文
posted @ 2019-07-21 22:48 笑得好美 阅读(5928) 评论(0) 推荐(0)
摘要: auth模块简介 在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存 阅读全文
posted @ 2019-07-21 22:46 笑得好美 阅读(589) 评论(0) 推荐(0)
摘要: 通常在Django项目中,我们编写的大部分都是与Django 的模型紧密映射的表单。 举个例子,你也许会有个Book 模型,并且你还想创建一个form表单用来添加和编辑书籍信息到这个模型中。 在这种情况下,在form表单中定义字段将是冗余的,因为我们已经在模型中定义了那些字段。 基于这个原因,Dja 阅读全文
posted @ 2019-07-21 22:42 笑得好美 阅读(1154) 评论(0) 推荐(0)
摘要: 局部钩子: 在Fom类中定义 clean_字段名() 方法,就能够实现对特定字段进行校验。(校验函数正常必须返回当前字段值) def clean_name(self): pass name = self.cleaned_data.get('name') if name=='admin': raise 阅读全文
posted @ 2019-07-21 22:40 笑得好美 阅读(1986) 评论(0) 推荐(0)
摘要: RegexValidator校验器: 在自定义的form组件类设置字段validators的值,引入RegexValidator模块 from django import forms from django.core.validators import RegexValidator from dja 阅读全文
posted @ 2019-07-21 22:37 笑得好美 阅读(996) 评论(0) 推荐(0)
摘要: from django import forms Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) er 阅读全文
posted @ 2019-07-21 22:35 笑得好美 阅读(347) 评论(0) 推荐(0)
摘要: 1 from django.shortcuts import render,HttpResponse 2 from django import forms 3 from app01 import models 4 from django.core.validators import RegexValidator 5 import re 6 from django.core.excep... 阅读全文
posted @ 2019-07-21 22:32 笑得好美 阅读(311) 评论(0) 推荐(0)
摘要: django中的form组件提供了普通表单提交及验证数据的主要功能: django中使用form组件 (一)在py文件(可以是视图,也可新建后在视图引入使用)创建一个form组件类,必须继承forms.Form类(fromdjangoimportforms) class Inform(forms.F 阅读全文
posted @ 2019-07-21 22:30 笑得好美 阅读(2835) 评论(0) 推荐(1)
摘要: 自定义中间件五个方法(部分方法)实例 自定义中间件项目: 模板Templates login.html 1 {% load static %} 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <scri 阅读全文
posted @ 2019-07-21 20:28 笑得好美 阅读(1997) 评论(0) 推荐(0)
摘要: settings.py中间件执行 自定义中间件的配置: (1)任意新建一个py文件,导入模块from django.utils.deprecation import MiddlewareMixin (2)在py文件中自定义中间件类,必须继承 MiddlewareMixin 类 (3)在setting 阅读全文
posted @ 2019-07-21 20:17 笑得好美 阅读(965) 评论(0) 推荐(0)
摘要: session项目文件: templates模板: login.html 1 {% load static %} 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <title>login</title> 阅读全文
posted @ 2019-07-21 20:09 笑得好美 阅读(452) 评论(0) 推荐(0)
摘要: cookie项目文件: templates模板: login.html 1 {% load static %} 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <title>login</title> 阅读全文
posted @ 2019-07-21 20:04 笑得好美 阅读(421) 评论(0) 推荐(0)
摘要: session是存放在服务端的,在django中使用session必须要先在数据库中创建django_session表,session相关信息都要依赖此表 获取session request.session['status'] request.session.get('status')#一般用get 阅读全文
posted @ 2019-07-21 19:59 笑得好美 阅读(9278) 评论(1) 推荐(1)
摘要: 浏览器清空cookie快捷键:ctrl+shift+delete,cookie中包含csrf认证信息 获取Cookie request.COOKIES['key'] request.COOKIES.get['key'] request.get_signed_cookie(key, default=R 阅读全文
posted @ 2019-07-21 19:57 笑得好美 阅读(2593) 评论(0) 推荐(0)
摘要: 会话跟踪: 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086 阅读全文
posted @ 2019-07-21 19:54 笑得好美 阅读(176) 评论(0) 推荐(0)
摘要: AJAX中JSON数据传输: AJAX请求JSON类型数据: headers:{'X-CSRFToken': $('input[name=csrfmiddlewaretoken]').val()},在请求头部进行csrf认证; django响应JSON类型数据: django视图函数通过import 阅读全文
posted @ 2019-07-21 19:50 笑得好美 阅读(7166) 评论(1) 推荐(0)
摘要: JSON简介: * JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 序列与反序列化: JS中的JSON对象可以对数据进行序列化(JSON.stringify())和反序列化(JSON.parse 阅读全文
posted @ 2019-07-21 19:43 笑得好美 阅读(3169) 评论(0) 推荐(0)
摘要: 文件上传: form表单上传文件: upload.html urls.py views.py AJAX上传文件: upload.html urls.py views.py 阅读全文
posted @ 2019-07-21 19:40 笑得好美 阅读(1712) 评论(0) 推荐(0)
摘要: AJAX简介: AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。 AJAX 不是新的编程语 阅读全文
posted @ 2019-07-21 19:33 笑得好美 阅读(1504) 评论(0) 推荐(0)
摘要: ORM事务: 事务: 数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务的特点: 并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性,习惯上被称之为ACID特性。 事务开启的三种方式: 全局开启(中间件): settings. 阅读全文
posted @ 2019-07-21 19:27 笑得好美 阅读(760) 评论(0) 推荐(1)
摘要: python脚本使用django的ROM 如果你想通过自己创建的python文件在django项目中使用django的models,那么就需要调用django的环境: 在总的项目文件夹创建的py文件: 阅读全文
posted @ 2019-07-21 19:25 笑得好美 阅读(1494) 评论(0) 推荐(0)
摘要: django中的ORM提供的操作功能有限,在模型提供的查询API不能满足实际工作需要时,可以在ORM中直接执行原生sql语句。 Django 提供两种方法使用原生SQL进行查询:一种是使用raw()方法,进行原生SQL查询并返回模型实例;另一种是完全避开模型层,直接执行自定义的SQL语句。 raw( 阅读全文
posted @ 2019-07-21 19:23 笑得好美 阅读(5407) 评论(0) 推荐(0)
摘要: # 把 model 转化为 迭代器去循环 MODEL.objects.all().iterator() # 等同于 values, values_list, 但是 only 这种方式 获取字段属性依旧使用 Model.属性 MODEL.objects.only("FIELDS", "FIELDS", 阅读全文
posted @ 2019-07-21 19:22 笑得好美 阅读(459) 评论(0) 推荐(0)
摘要: 关系表的操作语句: 以上一节中创建的书籍、出版社、作者、作者信息表为例进行: 增: # 一对一 # (1)类属性外键关联,使用外键约束属性直接进行对象关联插入 author_detail_obj=models.AuthorDetail.objects.get(id=4) author_obj = m 阅读全文
posted @ 2019-07-21 19:18 笑得好美 阅读(427) 评论(0) 推荐(0)
摘要: ORM模型多表逻辑创建: 以图书和作者关系模型为例: models.py from django.db import models ''' 一本书只能被一个出版社出版; 一个出版社可以出版多本书; 一个作者可以写多本书; 一个作者唯一对应自己的信息描述 一本书可以有多个作者 id不指定,orm自动创 阅读全文
posted @ 2019-07-21 19:16 笑得好美 阅读(602) 评论(0) 推荐(0)
摘要: ORM属性类型: 1. CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符数. 2. IntegerField #用于保存一个整数. 3.FloatField 一个浮点数,对 阅读全文
posted @ 2019-07-21 19:07 笑得好美 阅读(885) 评论(0) 推荐(0)
摘要: ORM数据库操作流程: ORM数据库配置: 以Mysql为例: 修改项目文件settings.py文件中的DATABASES配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 指定数据库引擎 'NAME': ' 阅读全文
posted @ 2019-07-21 18:59 笑得好美 阅读(345) 评论(0) 推荐(0)
摘要: MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。(Object Relati 阅读全文
posted @ 2019-07-21 17:27 笑得好美 阅读(637) 评论(0) 推荐(0)
摘要: 在urls.py文件中,在进行url映射时,为请求的url命个名,以便在模板页面或者views.py视图中可以进行反向解析,同时在修改了url映射的请求路径,名称不变的情况下,不再修改模板页面或者视图中的数据,项目不受影响正常执行!url标签中使用模板变量和普通标签参数一样,空格隔开,{{ % ur 阅读全文
posted @ 2019-07-21 17:22 笑得好美 阅读(1186) 评论(0) 推荐(0)
摘要: js、css、img等都叫做静态文件,那么关于django中静态文件的配置,我们就需要在settings配置文件里面写上这写内容: STATIC_URL = '/static/' #别名(可以任意):指向下边拼接的路径 STATICFILES_DIRS=[ os.path.join(BASE_DIR 阅读全文
posted @ 2019-07-21 17:15 笑得好美 阅读(918) 评论(0) 推荐(0)
摘要: 自定义步骤: 自定义过滤器函数的参数最多不能超过两个,第一个参数默认为渲染的变量 自定义标签函数的参数个数不限 自定义组件标签函数的返回值作为注册器渲染的数据,然后将渲染后的模板返回给调用页面(类似组件) 5. 在使用自定义过滤器、标签、标签组件时,必须现在html文档首行导入自定义的模块:{% l 阅读全文
posted @ 2019-07-21 17:05 笑得好美 阅读(276) 评论(0) 推荐(0)
摘要: 可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中的一个小功能块,然后在需要使用的地方,文件的任意位置按如下语法导入即可。 模板组件: 新建一个组件zujian.html文件(一个固定写好的静态页面) 在新的html文件中需要引入的位置加上include标签:{% include "zu 阅读全文
posted @ 2019-07-21 16:49 笑得好美 阅读(1306) 评论(0) 推荐(0)
摘要: Django模版引擎中最强大也是最复杂的部分就是模版继承了。模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 block。 模板继承: {% block content %} 模板内容 {% endblock %}或者{% endblock con 阅读全文
posted @ 2019-07-21 16:44 笑得好美 阅读(6991) 评论(0) 推荐(0)
摘要: csrf认证机制: django中对POST请求,csrf会进行认证处理,csrf认证机制是防御跨站伪造功能,在没有任何处理的前提下,POST请求会报错。 csrf认证中间件是在process_view执行(通过装饰器强制认证或者放行可知),同时对类中的方法进行CSRF装饰器操作需要: 【注意只能加 阅读全文
posted @ 2019-07-21 16:37 笑得好美 阅读(6015) 评论(0) 推荐(0)
摘要: 标签比变量更加复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模版中。 一些标签需要开始和结束标签 (例如:{% tag %} ...标签 内容 ... {% endtag %}),有些标签不需要结束{% tag %} 快捷键:输入tag直接回车 常用 阅读全文
posted @ 2019-07-21 16:22 笑得好美 阅读(2898) 评论(0) 推荐(0)
摘要: 在Django的模板语言中,通过使用 过滤器 来改变变量的显示;Django的模板语言中提供了大约六十个内置过滤器。 过滤器规则: 注意事项: d. '|'左右没有空格 在Django的模板语言中,通过使用 过滤器 来改变变量的显示;Django的模板语言中提供了大约六十个内置过滤器。 过滤器规则: 阅读全文
posted @ 2019-07-21 16:03 笑得好美 阅读(1468) 评论(0) 推荐(0)
摘要: 深度查询句点符(.)在模板语言中有特殊的含义。 当模版系统遇到点("."),它将以这样的顺序查询: 字典查询(Dictionary lookup) 属性或方法查询(Attribute or method lookup) 数字索引查询(Numeric index lookup) 注意事项: 阅读全文
posted @ 2019-07-21 16:02 笑得好美 阅读(339) 评论(0) 推荐(0)
摘要: 模板渲染: 官方文档:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#std:templatetag-for 模板渲染两种常用特殊符号: (1)变量相关:{{变量名 }} (2)标签(逻辑)相关:{% 逻辑代码 %} (3 阅读全文
posted @ 2019-07-21 16:01 笑得好美 阅读(385) 评论(0) 推荐(0)
摘要: 官方文档: https://docs.djangoproject.com/en/1.11/ref/request-response/ 视图中的request请求对象: 当请求页面时,Django创建一个HttpRequest包含有关请求的元数据的对象。 常用的值和操作: request.FILES 阅读全文
posted @ 2019-07-21 15:56 笑得好美 阅读(739) 评论(0) 推荐(0)
摘要: 视图函数响应处理: from django.shortcuts import render,HttpResponse,redirect (1)render 处理模板文件,可以渲染模板,第一个参数必须为封装好的元请求数据request return render(request,"index.html 阅读全文
posted @ 2019-07-21 15:54 笑得好美 阅读(450) 评论(0) 推荐(0)
摘要: FBV模式装饰器: 普通函数的装饰器(语法糖@) views.py CBV模式装饰器: 在CBV模式视图函数中必须先导入:from django.views import View (1)重写父类dispatch分发方法,在分发执行每个请求响应函数前后加上相应功能为实现类比装饰器 views.py 阅读全文
posted @ 2019-07-21 15:52 笑得好美 阅读(631) 评论(0) 推荐(0)
摘要: FBV模式: FBV(function base views) 就是在视图里使用函数处理请求。 一般直接用函数写的都属于是FBV模式。 veiws.py urls.py CBV模式: CBV(class base views) 就是在视图里使用类处理请求。 veiws.py urls.py 阅读全文
posted @ 2019-07-21 15:40 笑得好美 阅读(363) 评论(0) 推荐(0)
摘要: 视图函数: 视图函数时存在django项目中的应用程的一个名为views.py的文件模块; 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 一个简单的视图: 下面是一个以HTML文档的形式返回当前日期和时间的视图: views.py 逐行解释 阅读全文
posted @ 2019-07-21 15:30 笑得好美 阅读(437) 评论(0) 推荐(0)