玩蛇网提供最新Python编程技术信息以及Python资源下载!

Django1.7使用内置comment遇到问题

  • Django:1.7.1
  • Python:2.7.8
    使用的 https://github.com/django/django-contrib-comments,按照的使用指南做的:

setting.py里写的:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django_comments',
    'cm',
)
SITE_ID = 1

现在遇到了CSRF verification failed. Request aborted.问题,我点击提交后,提示:

Forbidden (403)

CSRF verification failed. Request aborted. Help

Reason given for failure:

CSRF token missing or incorrect.

In general, this can occur when there is a genuine Cross Site Request
Forgery, or when Django's CSRF mechanism has not been used correctly.
For POST forms, you need to ensure:

Your browser is accepting cookies.
The view function uses RequestContext for the template, instead of Context.
In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as

well as those that accept the POST data.

You're seeing the help section of this page because you have DEBUG =
True in your Django settings file. Change that to False, and only the
initial error message will be displayed.

You can customize this page using the CSRF_FAILURE_VIEW setting.

post.html里面的代码如下:

{% extends "base.html" %}
{% block title %}文章页 {% endblock %}
    {% block content %}
        <article id="post_content">
        <h1>{{post.post_title}}</h1>
        <div class="meta">发布时间:{{post.post_date}}</div>
        <div class="content">
             {{ post.post_content }}
        </div>
        </article>

        {% load comments %}
        <div>

        {% render_comment_list for post %}
        {% render_comment_form for post %}
        </div>
    {% endblock %}

comments文件夹里面的模板都是从Django-1.7.1-py2.7.egg\django\contrib\comments\templates复制出来的。

lz,你的'django_comments' 'cm',中间少了一个逗号,他把你这两个当成一个模块名了,所以会出现 No module named django_comments cm

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19121.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月21日 - 21时26分40秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules