初学Django:第九天,类视图和中间件

一、类视图

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值