使用Django评论时获取“评论帖不允许(400)”

时间:2009-07-13 15:25:50

标签: python django comments

我正在阅读一本Django书,我似乎陷入困境。本书中使用的代码库是.96,我使用1.0来安装我的Django。我坚持的部分与Django评论(django.contrib.comments)有关。当我提交我的评论时,我得到“评论帖子不被允许(400)为什么:缺少content_type或object_pk字段”。我发现Django文档在这方面有点缺乏,我希望得到一些帮助。

评论框显示得很好,就在我提交评论时我得到了上述错误(或者是真正出现的安全警告)。

我对评论表的呼吁:

{% render_comment_form for bookmarks.sharedbookmark shared_bookmark.id %}

我的form.html代码:

{% if user.is_authenticated %}
    <form action="/comments/post/" method="post">
        <p><label>Post a comment:</label><br />
        <textarea name="comment" rows="10" cols="60"></textarea></p>
        <input type="hidden" name="options" value="{{ options }}" />
        <input type="hidden" name="target" value="{{ target }}" />
        <input type="hidden" name="gonzo" value="{{ hash }}" />
        <input type="submit" name="post" value="submit comment" />
    </form>
{% else %}
    <p>Please <a href="/login/">log in</a> to post comments.</p>
{% endif %}

非常感谢任何帮助。

我的要求:

def bookmark_page(request, bookmark_id):
    shared_bookmark = get_object_or_404(
        SharedBookmark,
        id=bookmark_id
    )
    variables = RequestContext(request, {
        'shared_bookmark': shared_bookmark
    })
    return render_to_response('bookmark_page.html', variables)

2 个答案:

答案 0 :(得分:0)

Django在0.96和1.0之间经历了巨大的变化,所以你遇到问题并不奇怪。

有关您的具体问题,请参阅here

但是我建议你找一本更新的书。这不只是评论,但Django的整个区域与0.96完全不同 - 特别是管理员。如果它是官方的'Django书',你可以找到版本2的草稿(针对Django 1.0)here

答案 1 :(得分:0)

这并不完美,但我已经解决了这个问题。我使用了Django本身附带的form.html,这让我超过了“评论帖不允许(400)”的消息并成功发布了我的评论。它包括一些其他字段,但因为我没有在forms.py中定义我自己的形式,我想这是预期的。无论如何,我似乎已经解决了这个问题。感谢您查看我的问题。