0
我得到Forbidden(403)CSRF验证失败。请求中止。 当我提交home.html的页面上的形式...禁止(403)CSRF验证失败。请求中止。但我有我需要的一切
我不知道为什么,因为我有{%csrf_token%}形式,
我的设置是否正确
我使用context_instance = RequestContext的(要求)
这是形式(它是home.html做为):
<form method="post" action="/schedule/" >
{% csrf_token %}
<input type="text" name="course1" value="" maxlength="100" />
<input type="text" name="course2" value="" maxlength="100" />
<input type="text" name="course3" value="" maxlength="100" />
<input type="text" name="course4" value="" maxlength="100" />
<input type="text" name="course5" value="" maxlength="100" />
<input type="text" name="course6" value="" maxlength="100" />
<br />
<button type="submit" id="submit">Submit</button>
</form>
这是我的看法:
from django.shortcuts import render_to_response, redirect
import requests
from bs4 import BeautifulSoup
from . import AllClasses
from django.template.context_processors import csrf
from django.template import RequestContext
import datetime
def home(request):
return render_to_response("src/home.html", {}, context_instance=RequestContext(request))
# Create your views here.
def schedule(request):
c = {}
subjects = []
courses = []
if request.method == 'POST':
subjects[0] = request.POST['course1']
subjects[1] = request.POST['course2']
subjects[2] = request.POST['course3']
subjects[3] = request.POST['course4']
subjects[4] = request.POST['course5']
subjects[5] = request.POST['course6']
for subject in subjects:
courses.append(Course.objects.filter(subject=subject))
c.update({'courses_inputed': courses})
return render_to_response("src/weekataglancetest.html", c, context_instance=RequestContext(request))
这是settings.py
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
请帮我已经被困在了这么久!
非常感谢大家!