在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/

