from django.utils.deprecation import MiddlewareMixin from django.shortcuts import HttpResponse # 三个常见 控制请求,统计访问地址,IP等等 class M2(MiddlewareMixin): #请求数据 def process_request(self,request): print('m2.process_request') #返回数据 def process_response(self,request,response): print('m2.process_response') return response #错误信息 def process_exception(self, request, exception): print('m2.process_exception') return HttpResponse('错误了...')
在 setting MIDDLEWARE 导入
1.
from django.shortcuts import render,HttpResponse # Create your views here. def index(request): return HttpResponse('首页') from django.forms import Form, fields class LoginForm(Form): user = fields.CharField( max_length=18, min_length=6, required=True, error_messages={ 'required':'用户名不能为空', 'max_length': '用户名不超过18位空', 'min_length': '用户名不小于6位', } ) pswd = fields.CharField( min_length=6,required=True ) # 登录验证 def login(request): if request.method == "GET": return render(request,'app/login.html') else: obj = LoginForm(request.POST) # print(obj) # print(obj.is_valid()) # print(obj.changed_data) if obj.is_valid(): return HttpResponse('验证OK') else: # print(obj.errors['user'][0]) return render(request,'app/login.html',{'obj':obj})
2.
from django.forms import Form, fields from django.shortcuts import render,HttpResponse # Create your views here. class LoginForm(Form): user = fields.CharField( label='用户名', disabled=False, label_suffix='lable后缀', initial='默认值', help_text='帮助信息', max_length=20, min_length=10, required=True, error_messages={ 'max_length' :'最大20', 'min_length': '最小3', 'required': '不为空', } ) def login(request): if request.method == "GET": obj = LoginForm() return render(request,'Fform/login.html',{'obj':obj}) else: obj = LoginForm(request.POST) return render(request,'Fform/login.html',{'obj':obj}) def login2(request): if request.method == "GET": obj = LoginForm() return render(request,'Fform/logins.html',{'obj':obj}) else: obj = LoginForm(request.POST) return render(request,'Fform/logins.html',{'obj':obj})
login.html
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="/s/login/" method="post" novalidate> {% csrf_token %} {{ obj.as_p }} <input type="submit"> </form> </body> </html>
logins.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="/s/2/" method="post" novalidate> {% csrf_token %} {{ obj.user }}{{ obj.errors.user.0 }} <input type="submit"> </form> </body> </html>