关于Django的中间件使用说明。

目录

    • 1.中间件
    • [2. 为什么要中间件?](#2. 为什么要中间件?)
    • [3. 具体使用中间件](#3. 具体使用中间件)
      • [3.1 中间件所在的位置:在django的settings.py里面的MIDDLEWARE。](#3.1 中间件所在的位置:在django的settings.py里面的MIDDLEWARE。)
      • [3.2 中间件的创建](#3.2 中间件的创建)
      • [3.3 中间件的使用](#3.3 中间件的使用)
    • [4. 展示成果](#4. 展示成果)

1.中间件

中间件的大概解释:在浏览器在请求服务器的时候,首先要经过各种中间件,然后进行GET、POST等请求的访问,然后处理数据,最后经过各种中间件输出给浏览器。

我们可以利用中间件的特性,来解决用户登录过程中的繁琐问题。

2. 为什么要中间件?

在我们用django写后端服务的时候,需要很多url,但是有没有想过一个问题,就是直接获取url,跳过登陆的url直接访问后面的网页。这样的话,那负责用户登陆的url有什么用呢?

所以我们需要中间件来解决这种问题。

3. 具体使用中间件

3.1 中间件所在的位置:在django的settings.py里面的MIDDLEWARE。

3.2 中间件的创建

首先在项目目录里面随便创建一个文件夹,然后在里面创建一个py文件,最后添加到中间件的对应位置。

注意:在中间件里面,执行顺序是从上到下的,所以我们创建的中间件最好放在后面,以免产生不必要的错误。

3.3 中间件的使用

在新创建的中间件的文件里面写入相应的代码。(具体看注释即可。)

然后在对应的登陆的url的view.py的登陆函数里面写入相应的代码即可。

4. 展示成果

正常的登陆页面如下:

登陆成功后进入下面的页面:

当你把浏览器的session清除掉之后,重新输入http://127.0.0.1:8000/depart/之后,django会自动跳转到登陆页面,只有登陆成功在可以访问后续的其他页面。

相关推荐
iAm_Ike3 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt3 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
旦莫4 小时前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试
知识领航员5 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
如何原谅奋力过但无声6 小时前
【灵神高频面试题合集06-08】反转链表、快慢指针(环形链表/重排链表)、前后指针(删除链表/链表去重)
数据结构·python·算法·leetcode·链表
deephub6 小时前
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
人工智能·python·大语言模型·rag
狐狐生风8 小时前
使用 UV 创建并运行 Python 项目(完整步骤)
python·uv
噜噜噜阿鲁~8 小时前
python学习笔记 | 9.2、模块-安装第三方模块
笔记·python·学习
现代野蛮人8 小时前
【深度学习】 —— VGG-16 网络实现猫狗识别
网络·人工智能·python·深度学习·tensorflow
一个小猴子`8 小时前
Pytorch快速复习
人工智能·pytorch·python