"detail": "CSRF Failed: CSRF cookie not set."
方法一:html
在配置文件中配置python
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', ) }
方法二.在提交信息中加上csrf_token:ajax
頁面form框中設置django
{% csrf_token %}
這代碼在頁面中的顯示內容 <input type="hidden" name="csrfmiddlewaretoken" value="l9gICFdVzkDkLExUoAPRpE0ElkGtG70Xmn6u536Keo3kaQPXEeC00g5kbnY3vJGd">
若是是ajax提交的話cookie
在data中加上session
data:{ .. .. 'csrfmiddlewaretoken': '{{csrf_token}}' //或者 'csrfmiddlewaretoken':'l9gICFdVzkDkLExUoAPRpE0ElkGtG70Xmn6u536Keo3kaQPXEeC00g5kbnY3vJGd' }
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', ]
若是在中間件中把'django.middleware.csrf.CsrfViewMiddleware',
註釋掉你用方法二的時候也會報錯,只有方法一能正常使用rest