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/

相关推荐
千寻girling10 小时前
机器学习 | 逻辑回归 | 尚硅谷学习
java·人工智能·python·学习·算法·机器学习·逻辑回归
Shadow(⊙o⊙)10 小时前
C++常见错误解析2.0
开发语言·数据结构·c++·后端·学习·算法
永远不会的CC10 小时前
研0上岸找实习面试经历
python·算法·面试
l1t11 小时前
duckdb excel插件和rusty_sheet插件在python中的不同表现
开发语言·python·excel
来一斤小鲜肉11 小时前
Spring AI核心:RAG 全链路实战
后端·openai
pele11 小时前
如何解决多线图中线条颜色不渲染(仅标记和提示框显示颜色)的问题
jvm·数据库·python
forEverPlume11 小时前
golang如何排查大量goroutine性能问题_golang大量goroutine性能排查详解
jvm·数据库·python
2301_8148098611 小时前
踩坑实战pywebview:用 Python + Web 技术打造轻量级桌面应用
开发语言·前端·python
anzhxu11 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
lUie INGA11 小时前
快速在本地运行SpringBoot项目的流程介绍
java·spring boot·后端