一、类视图
1.编写用户注册的html网页,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="#" method="post">
username: <input type="text" id="username" name="username" > <br>
password : <input type="password" id="password" name="password"> <br>
register: <button type="submit" ><a href="{% url 'books:temp4' %}" >注册</a> </button>
</form>
</body>
</html>
?2.创建一个类视图代码如下:
# 定义一个注册的类视图
from django.views import View #导入
class RegisterView(View):
def get(self,request):
return render(request,'register.html')
def post(self,request):
# 获取数据
username = request.POST.get('username')
print(username)
return JsonResponse({'username':username})
?3.设置类视图的路由
path('temp4/',views.temp4,name='temp4'),
path('register/', views.RegisterView.as_view(), name='register'), # 类视图
?
?4.运行结果
?二、中间件
1.dj11文件夹路径下settings.py
# 中间件
MIDDLEWARE = [
# 从上往下的执行 自带的中间件 请求是从上往下执行 ,响应是从下往上执行
# http 浏览器访问的时候 重定向 HTTPS
'django.middleware.security.SecurityMiddleware',
# request.session 处理
'django.contrib.sessions.middleware.SessionMiddleware',
# 是否允许使用的浏览器类型
'django.middleware.common.CommonMiddleware',
# csrf 攻击
# 'django.middleware.csrf.CsrfViewMiddleware',
# 和新用户相关的
'django.contrib.auth.middleware.AuthenticationMiddleware',
# 发送信息内容
'django.contrib.messages.middleware.MessageMiddleware',
# Frame 攻击
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'books.middleware.out02',
'books.middleware.out01',
]
?2.E:\Python 3.7.9\Django-object\dj11\books\新建middleware.py
def out01(fuc):
print('调用前1')
def inner(*args,**kwargs):
print('执行函数前1')
data = fuc(*args,**kwargs)
print('执行函数后1')
return data
return inner
def out02(fuc):
print('调用前2')
def inner(*args,**kwargs):
print('执行函数前2')
data = fuc(*args,**kwargs)
print('执行函数后2')
return data
return inner
?3.运行manage.py
?
|