Django 1.2 liên tục cung cấp cho tôi lỗi xác minh CSRF này khi tôi thực hiện biểu mẫu POST. Tôi "nghĩ" Tôi đã làm tất cả những điều hỏi trong Django 1.2 tài liệu, cụ thể là,Django 1.2.4 Xác minh CSRF không thành công
Đảm bảo MIDDLEWARE_CLASSES được bao gồm với 'django.middleware.csrf.CsrfViewMiddleware'
Đảm bảo {% csrf_token%}
<form action="/words/new/" method="post"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Enter" /> </form>
Sử dụng RequestContext trong phản ứng của tôi
def create(request): if request.method == 'POST': form = DefinitionForm(request.POST) if form.is_valid(): form.save() c = {} return render_to_response('dict/thanks.html',c, context_instance=RequestContext(request)) else: form = DefinitionForm() return render_to_response('dict/create_definition.html', { 'form' : form, })
Lưu ý rằng hành động GET hoạt động trong chức năng này. Vì vậy, tôi nghĩ rằng tôi đang sử dụng render_to_response đúng.
Tôi thậm chí đã cố gắng ném vào trang trí @csrf_protect và thậm chí điều đó dường như không hoạt động. Tôi hết ý tưởng và tôi sắp bị nghẹt thở với máy tính xách tay của mình.
Mọi thứ bạn có thể nghĩ đến?
Cảm ơn!
Kiểm tra HTML trong trình duyệt của bạn để đảm bảo trường mã thông báo csrf có trong đó. Sau đó đổ các câu trả lời POST để kiểm tra nó được trở lại xem. – Spacedman