简体   繁体   English

{% csrf_token %} 在 Django 中不起作用

[英]{% csrf_token %} is not working in django

Template includes just only html forms and it says CSRF token missing or incorrect.模板仅包含 html 表单,并且显示 CSRF 令牌丢失或不正确。

Error: CSRF verification failed.错误:CSRF 验证失败。 Request aborted.请求中止。 Reason given for failure: CSRF token missing or incorrect.失败原因:CSRF 令牌丢失或不正确。 template:模板:

<form method='POST'>
  {% csrf_token %}
  <div class='row'>
    <div class='col'>
      <input value={{ option1 }} type='submit' class="btn btn-primary btn-lg btn-block button" name='option'/>
    </div>
    <div class='col'>
      <input value={{ option2 }} type='submit' class="btn btn-primary btn-lg btn-block button" name='option'/>
    </div>
  </div>
</form>

Code for views.py views.py 的代码

from django.shortcuts import render,redirect
from django.http import HttpResponseRedirect
from django.urls import reverse
from .forms import QuestionForm, OptionForm, UserForm
from .models import User, Question, Choices

def QuestionAnswer(request, user_id, user, question_id):
    user = User.objects.get(pk=user_id)
    question = Question.objects.all().filter(user=user)
    option = Choices.objects.all().filter(question = question[0])    
    return render(request, 'quiz/QuestionAnswer.html', {
        'question':question[0].question,
        'option1':option[0],
        'option2':option[1],
    })

{% load static %}
<form method='POST'>
  {% csrf_token %}
  <div class='row'>
    <div class='col'>
      <input value={{ option1 }} type='submit' class="btn btn-primary btn-lg btn-block button" name='option'/>
    </div>
    <div class='col'>
      <input value={{ option2 }} type='submit' class="btn btn-primary btn-lg btn-block button" name='option'/>
    </div>
  </div>
</form>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM