使用Django评论时收到“评论发布不允许(400)”
我正在看一本关于Django的书,但遇到了一些问题。书中使用的代码版本是0.96,而我安装的是1.0版本。现在我卡住的地方是关于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
虽然不是完美的解决办法,但我找到了一种变通的方法。我用了Django自带的form.html,这样就成功绕过了“评论发布不允许(400)”的错误信息,顺利发布了我的评论。这个表单里有一些其他的字段,不过因为我没有在forms.py里定义自己的表单,所以这也算正常吧。总之,我好像找到了解决办法。谢谢你们关注我的问题。