众所周知,在django中,默认的message,只能在同一个request中传递. 但如果在请求过程中,使用了redirect跳转,那么,这个一次性的message就会失败, 无法在前端给用户提示. https://stackoverflow.com/questions/29673537/django-redirect-with-context/29673951#29673951 网上提供的思路,有如下两种: 一,使用message框架中的storeage存储实现.我觉得如果消息使用得频繁,且…
认证登录 django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1  authenticate(**credentials)    提供了用户认证,即验证用户名以及密码是否正确 一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的.当我们试图登陆一个从数据库中直接取出来不经过authent…
0907自我总结 重新整理django中Auth模块 from django.contrib import auth 一.设置 默认Auth表单 auth默认是使用自带的user表单 自定义Auth表单 一定要在settings.py中告诉Django,我现在使用我新定义的UserInfo表来做用户认证.写法如下: # 引用Django自带的User表,继承使用时需要设置 AUTH_USER_MODEL = "app名.UserInfo" 在modles.py创建表单模型可以对Abst…
django表单系统中,所有的表单类都作为django.forms.Form的子类创建,包括ModelForm. 关于django中的表单系统有两种: 基于django.forms.Form 基于django.forms.ModelForm 表单API form.is_bound() 表单有两种状态:绑定和未绑定,使用form.is_bound()来判断. form.is_valid() 验证表单数据是否合法,返回True或者False form.errors 表单的错误字典 Form.has_…
接上一篇<Django中使用Bootstrap> ModelForm 可以将数据库中的信息展示在一个表中,因此我们在查询数据库信息时可以使用ModelForm在前端展示查询到的信息. 在上篇中,要实现点击'id'时,可以显示该id的用户信息,并能修改相关信息. 一.展示数据库信息 1.在信息展示页面的'id'上添加<a>标签,使之在页面上点击'id'时跳转至客户详细信息页面,展示客户各项信息. customer.py,点击'id'时url跳转至'/stu_crm/customer/…
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 创建视图并访问 项目中自带的Python文件中,并没有带有视图,因此我们自己创建一个,通常,我们把视图命名views.py. 然后在views.py中,导入头文件  from django.http import HttpResponse 然后我们在views.py中,写一些Python函数,用来…
本节涉及: 1.Q搜索在前后端的设计 2.Django中Queryset对象的序列化(由后端扔给前端的数据必然会经过序列化) 3.前端动态地构造表格以便显示(动态创建DOM对象) 思路: 用户通过前端查询数据库内容时,可添加多个搜索框,一个搜索框内可以输入多个条件.同一搜索框内的条件是或OR关系,不同搜索框间是与AND关系.如搜索图书,每条图书信息包括名称.页数.印刷日期.类型,在一个搜索框内可选择搜索书名,以中文逗号分隔即可以书名同时搜索多本图书,同一搜索框内就是OR关系.又可以再添加输入框,…
视图 1.什么是视图 视图就是Django项目下的view.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相当于一个中央情报处理系统 2.具体视图实例 3.CBV和FBV 视图文件中除了上面的用一系列的函数来对应处理客户端请求的数据逻辑外,还可以通过定义类来处理相应的逻辑,首先第一步 要想真正让CBV的方式凑效,光在视图文件中改动是不够的 所以才CBV模式下,我们可以自定义dispatch方法,来控制之下真正的方法之前之后的一些行为,达到装饰器…
Django中Cookie和session应用 什么是cookie? cookie是客户端浏览器上的一个文件,以键值对进行保存,类似于字典的 {'key' : 'value'} ,与服务器端没有关系,当浏览器访问服务器时候,服务器会生成一个随机字符串保存在cookie中返回给客户端,这样当客户端浏览器下次访问服务器端的时候,就会带着这个保存了服务器端的随机字符串的cookie访问服务器,服务器收到请求后,经过检查此cookie,标识此客户端为已通过认证的状态,可以直接登录. cookie的作用?…
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 xxx 八 xxx 一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了.从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束.在通话…
Django中的View视图(view.py)是负责处理用户请求和返回响应的逻辑. 视图函数或视图简而言之就是一个python函数,它接受一个web请求并返回一个Web响应. 此响应可以是网页的HTML内容,重定向或404错误,XML文档或图像. 一个简单的视图: from django.http import HttpResponse import datatime def current_datetime(request): now = datatime.datatime.now() htm…
在说明django模型之前,首先来说明一下django的生命周期,也就是一个请求到达django是如何处理的.[暂时不包含中间件] 浏览器的请求---->到达django中的urls中找到对应的映射------>到达视图层(返回的是html页面,html页面来自模板(templates)中的前端文件)---->前端中若是有数据需要来自后端的服务器,则需要模型(model),数据处理完毕之后通过return函数返回给客户端.[不太准确,一个简单的mvc模型] 通过以上描述,我们知道,模型的…
django额外参数的传递 path方法:path(route, view, kwargs=None, name=None) path方法可以传递入一个额外参数的字典参数(kwarg),字典里的值就会被传给视图函数. 传入的字典里的key必须在视图函数的参数里,否则会报错. 当字典参数里的key和url捕获的参数一致时,以额外参数(kwargs)里的为准. from django.urls import path from .views import * urlpatterns = [ path…
中间件: 在研究中间件的时候我们首先要知道 1 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功能. 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能. 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法.…
Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件…
1 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了.从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束.在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中. 在Web中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束. 在一个会话的多个请求中共享数据,这就是…
一 Django中路由的作用 二 简单的路由配置 三 有名分组 四 路由分发 五 反向解析 六 名称空间 七 django2.0版的path 一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 典型的例子: from django.urls import path urlpatterns = [ path('a…
转:www.jianshu.com 要理解session,首先要搞清楚cookie的概念.由于http是无状态的,服务器不能记住用户的信息状态,因此若由同一个客户端发起的多条请求,服务器不能辨别这些请求来自哪个用户.http无状态的限制为web应用程序的设计带来了许多不便,购物网站中的"购物车"功能就是一个很好的例子,当用户把商品放进购物车后,客户端必须要保存购物车的状态,否则当用户下次浏览网站时,购物车拥有的商品状态便不复存在.客户端和服务器必须有通信的媒介,方便服务器追踪客户端的状…
Django 中的中间件 Django  中间件 中间件介绍 前戏 之前在判断登录的时候使用的是装饰器的功能,通过给视图函数加装饰器来增加判断是否登录的功能.但此方法的缺点是必须给每个需要判断登录的视图函数都加上装饰器. 中间件能够实现给所有的请求执行相同的操作. 什么是中间件 官方介绍: 中间件是 Django 请求/响应处理的钩子框架.它是一个轻量级的.低级的“插件”系统,用于全局改变 Django 的输入或输出.每个中间件组件负责做一些特定的功能. 说的直白一点中间件是帮助我们在视图函数执…
使用表单 表单用 user 提交数据,是网站中比较重要的一个内容 GET 和 POST 方法 GET 和 POST 的区别 URL,全称是"统一资源定位符".用于对应互联网上的每一个文件.而 GET.POST 等方法,本质上就是对这个 URL 进行一系列的操作.GET.POST.PUT.DELETE 分别对应对资源进行查.改.增.删.因此,任何对系统状态有改变的请求(例如,对数据库的数据进行修改)都应该使用 POST .GET 方法用于不影响系统状态的请求,如搜索或者是请求发送一些数据…