社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
2025 年程序员薪资水平排行前十的城市 1、北京 平均月薪:22,500元 年薪范围:35万-...
ST成了香饽饽,Python量化验证ST股涨停溢价表现|附策略代码
如何用Python量化的方式找到处于底部横盘突破状态的牛股
保姆级教程:从 GitHub 代码到 Vercel+Cloudflare 部署全流程(附域名配置)
ChatGPT 要做广告和电商了,AI 将重塑营销业
《2025AIGC新手必备资料包》(1.2GB)
【#ChatGPT使用政策更新##ChatGPT禁止提供专业医疗-20251103073719
零基础、没时间、不知从哪入手?三天破局:影像组学+深度学习+病理组学撬开SCI大门
Git 运维实战:基础设施即代码版本控制从零到生产级方案
ChatGPT 5,无需魔法,国内直接使用!
关注
Py学习
»
Django
21.Django中间件(Middleware)
大耳朵儿图图
• 5 年前 • 338 次点击
中间件
中间件,顾名思义,就是处在中间的一些软件。比如匹配到了URL,但是还没有执行view函数的时候,这个时候可以执行一些代码,这个代码就是中间件。Django已经内置了许多中间件,这些中间件已经可以满足90%以上的需求,如果你还不够,还可以定义自己的中间件.
中间件流程.png
Django自带中间件解释:
django.middleware.security.SecurityMiddleware:一些安全设置,比如XSS脚本过滤。
django.contrib.sessions.middleware.SessionMiddleware:session支持中间件,加入这个中间件,会在数据库中生成一个django_session的表。
django.middleware.common.CommonMiddleware:通用中间件,会处理一些URL,比如
baidu.com
会自动的处理成
www.baidu.com
。比如/blog/111会处理成/blog/111/自动加上反斜杠。
django.middleware.csrf.CsrfViewMiddleware:跨域请求伪造中间件。加入这个中间件,在提交表单的时候会必须加入csrf_token,cookie中也会生成一个名叫csrftoken的值,也会在header中加入一个HTTP_X_CSRFTOKEN的值来放置CSRF攻击。
django.contrib.auth.middleware.AuthenticationMiddleware:用户授权中间件。他会在每个HttpRequest对象到达view之前添加当前登录用户的user属性,也就是你可以在view中通过request访问user。
django.contrib.messages.middleware.MessageMiddleware:消息中间件。展示一些后台信息给前端页面。如果需要用到消息,还需要在INSTALLED_APPS中添加django.contrib.message才能有效。如果不需要,可以把这两个都删除。
django.middleware.clickjacking.XFrameOptionsMiddleware:防止通过浏览器页面跨Frame出现clickjacking(欺骗点击)攻击出现。
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/53165
登录后回复