Django CSRF令牌

在Django中,为了防止CSRF(Cross-Site Request Forgery,跨站请求伪造)攻击,Django提供了一个中间件django.middleware.csrf.CsrfViewMiddleware,它会自动在所有的POST表单中添加一个隐藏的CSRF令牌字段。这个令牌在服务器端生成,并在用户提交表单时验证,以确保请求是来自同一个网站的合法请求。

1,设置CSRF令牌

Test/Test/settings.py

2,添加视图函数

Test/app13/urls.py

复制代码
# Create your views here.
from django.shortcuts import render
from django.http import HttpResponse

def my_form_view(request):
    if request.method == 'POST':
        # 这是POST请求,处理表单数据
        form_data = request.POST
        print(form_data)
        # 获取表单字段的值
        example_field_value = form_data.get('example_field', '')
        # 可以在这里对表单数据进行校验和处理
        # ...
        # 返回响应
        return HttpResponse('表单已提交,example_field的值是: ' + example_field_value)
    else:
        # 这是GET请求,显示表单
        return render(request, '14/my_form.html')

3,添加路由地址

Test/app13/urls.py

复制代码
from django.urls import path
from . import views

urlpatterns = [

    path('my_form_view/', views.my_form_view, name='my_form_view'),
]

4,访问页面

http://127.0.0.1:8000/app14/my_form_view/

相关推荐
桃小桃说科技1 分钟前
基于深度学习的障碍物检测系统(YOLOv12完整代码+论文示例+多算法对比)
人工智能·python·目标检测·机器视觉·障碍物检测
Polar__Star3 分钟前
Golang bcrypt如何加密密码_Golang密码加密教程【收藏】
jvm·数据库·python
第一程序员17 分钟前
Python数据结构与算法:非科班转码者的学习指南
python·github
weixin_5860614626 分钟前
如何用 event.composedPath 获取事件触发经过的所有节点
jvm·数据库·python
weixin_4087177737 分钟前
如何用 Iterator.from 将类数组转化为具备现代方法的迭代器
jvm·数据库·python
Full Stack Developme38 分钟前
MyBatis-Plus 流式查询教程
前端·python·mybatis
才兄说42 分钟前
机器人二次开发机器狗巡检?定位精度±2cm
python
2301_7826591844 分钟前
SQL视图能否用于数据仓库模型_雪花模型与视图构建
jvm·数据库·python
m0_377618231 小时前
CSS如何让文字超出两行显示省略号_使用line-clamp属性限制
jvm·数据库·python
卜夋1 小时前
Rust 学习笔记 - Day 6: 引用与借用
后端·rust