Django:在尝试了大量的修复后仍然得到CSRF错误

2024-04-26 21:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我收到“CSRF令牌丢失或不正确”。在

我已经检查了堆栈溢出以寻找答案,但没有任何结果;我再次检查了我的源代码,真的不知道我做错了什么。它只在我用CsrfViewMiddleware注释MIDDLEWARE_CLASSES行时有效,但我认为这是我永远不需要做的事情。在

以下是我认为相关的代码:

在设置.py

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.csrf.CsrfResponseMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

在视图.py

^{pr2}$

模板

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">

    <title>Conturi_introducere</title>

</head>
<body>
    <p>BAGA CONTURILE</p>
    <form action="" method="post">{% csrf_token %}
        {{ formset.management_form }}
        <!--<p><label for="id_cont">cont:</label>{{ form.cont }}</p>
        <p><label for="id_cont_debit">cont debit:</label>{{ form.cont_debit }}</p>
        <p><label for="id_cont_credit">cont credit:</label>{{ form.cont_credit }}</p>
        -->
        <table border="0">
            {% for form in formset %}
            {{ form }}
            {% endfor %}
        </table>

    <p><input type="submit" value="Submit"></p>
    </form>
</body>
</html>

我做错什么了?在


Tags: djangoformidforhtmlcontribcsrfmiddleware
2条回答

我也会移除

'django.middleware.csrf.CsrfResponseMiddleware',

这是遗留问题,并且由于安全和性能问题而被贬低。在

Referece

您需要确保在响应中包含RequestContext。在

return render_to_response('sitfin/conturi_introducere.html',{'formset':formset},
context_instance=RequestContext(request))

相关问题 更多 >