“CSRF令牌丢失或不正确”

2024-04-25 13:58:03 发布

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

编辑解决了:我觉得自己像个白痴。我最初创建了两个独立的视图:一个用于输入,另一个用于输出。我一直在output视图中处理这里的所有代码,尽管我重新排列了我的url和模板以重用输入视图。。。对不起大家。现在很好用了。。。在


我在本地主机上运行,当我提交表单时,我收到一个“CSRF token missing”错误。我已经阅读了文档和一些堆栈溢出。我已经解决了大多数常见问题:

  • 我的模板中有csrf令牌(加载时模板正好插入了以下内容:<input type="hidden" name="csrfmiddlewaretoken" value="">
  • 我正在使用带有render_to_response('_template_',{_data_:'_data_'},context_instance=RequestContext(request))的render-to-u响应
  • 我的视图中确实导入了RequestContext
  • 我的设置中确实有'django.middleware.csrf.CsrfViewMiddleware'。在

有人知道我会错过什么吗?在

这是我的表格:

<form action="" method="post">
            {% csrf_token %}
            <input type="text" name="q">
            <input type="submit" value = "Submit">
        </form>

以下是我的观点:

^{pr2}$

以下是我的设置:

MIDDLEWARE_CLASSES = (
    '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',
)

Tags: todjangonametoken视图模板inputdata