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/

相关推荐
非自律懒癌患者16 小时前
‘module1 is module2‘ VS ‘module1 == module2‘
python·深度学习·计算机视觉
郝学胜-神的一滴16 小时前
李航《机器学习方法》全面解析与高效学习指南
人工智能·python·算法·机器学习·数学建模·scikit-learn
superman超哥16 小时前
Rust 依赖管理与版本控制:Cargo 生态的精妙设计
开发语言·后端·rust·rust依赖管理·rust版本控制·cargo生态
龙腾AI白云16 小时前
深度学习—卷积神经网络(1)
python·深度学习·神经网络
雪花desu16 小时前
【Hot100-Java简单】/LeetCode 283. 移动零:两种 Java 高效解法详解
数据结构·python·算法
蜡笔弄丢了小新16 小时前
nohup java -jar 文件名
java·python·jar
一杯咖啡Miracle16 小时前
UV管理python环境,打包项目为docker流程
python·算法·docker·容器·uv
Blossom.11816 小时前
边缘智能新篇章:YOLOv8在树莓派5上的INT8量化部署全攻略
人工智能·python·深度学习·学习·yolo·react.js·transformer
『六哥』16 小时前
零基础搭建完成完整的前后端分离项目的准备工作
前端·后端·项目开发
2501_9444522316 小时前
应用设置 Cordova 与 OpenHarmony 混合开发实战
python