在测试Django框架POST请求方式时,程序报错如下
在确保访问安全的情况下有一下两种方式:
1、在相应html文件form代码块中添加如下代码:
<form method="post" action="/method_show/">{% csrf_token %} <!-- 改行代码为添加部分 --><input type="submit" value="post方式">
</form>
但是仅仅添加这句代码,有时候并不能解决如上报错问题,至少在我测试过程中未能有效解决
那么就需要使用第二种方法
2、在相应view视图函数种添加如下代码:
# 首先在应用views.py文件中导入该方法
from django.views.decorators.csrf import csrf_exempt# 在视图函数位置添加该装饰器
@csrf_exempt
def method_show(request):return HttpResponse(request.method)
此时可将方法1中添加的方法注释(不注释也行)
由此变解决了代码报错问题
3、非安全方式
如下将csrf中间件代码块注释掉,也可解决上述报错问题,但是该方法不安全
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware', # 将改行注释掉 不使用即可'django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]