Django报错 Forbidden (CSRF token missing or incorrect.): 解决方法
方法一:自定义一个中间件
from django.utils.deprecation import MiddlewareMixin
from django.middleware.csrf import get_token
class CsrfTokenMiddleware(MiddlewareMixin):
def process_request(self, request):
get_token(request)
在配置文件settings.py 的中间件添加一行代码
'utils.csrfTokenMiddleware.CsrfTokenMiddleware'
方法二:在html文件下form表单中添加{% csrf_token %}
<div class="container">
<div class="row">
<h2 class="text-center">注册</h2>
<div class="col-md-8 col-md-offset-2">
<form action="" method="post">
{% csrf_token %}
<p>username:<input type="text" class="form-control" name="username"></p>
{# <p>username:<input type="text" class="form-control" name="username"></p>#}
<p>password:<input type="password" class="form-control" name="password"></p>
<input type="submit" class="btn btn-danger">
</form>
</div>
</div>
</div>
方法三:在view中使用method_decorator装饰器
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import ensure_csrf_cookie
class RegistView(View):
@method_decorator(ensure_csrf_cookie)
def get(self, request)
pass
def post(self, request)
pass