在使用Django搭建好测试环境后,写了一个提交POST表单提交留言的测试页面。
如图:
填写表单,点击“提交留言”按钮提交到服务器,却出现
Forbidden (403)
CSRF verification failed. Request aborted.
由于之前使用GET方式提交表单内容测试均正常,就以为这个问题估计是配置问题没细看后边的帮助提示直接在网上搜索解决方案。
一搜索发现相关网页很多,看来大家都遇到过这个问题,想着应该很快能解决。
解决方案1:失败
在settings.py的MIDDLEWARE_CLASSES加入
'django.middleware.csrf.CsrfResponseMiddleware',
最终settings.py MIDDLEWARE_CLASSES 配置部分的代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
MIDDLEWARE_CLASSES
=
(
'django.middleware.common.CommonMiddleware'
,
'django.contrib.sessions.middleware.SessionMiddleware'
,
'django.middleware.csrf.CsrfViewMiddleware'
,
# add
'django.middleware.csrf.CsrfResponseMiddleware'
,
# add end
'django.contrib.auth.middleware.AuthenticationMiddleware'
,
'django.contrib.messages.middleware.MessageMiddleware'
,
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
|
保存,重新加载http://127.0.0.1/comment/add页面提交留言测试。
但在打开页面时出现500错误
赶紧看了一下控制台,发现如下错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Traceback (most recent call last):
File
"D:\Python27\lib\wsgiref\handlers.py"
, line 85,
|