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>