我正在阅读一本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)
答案 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中定义我自己的形式,我想这是预期的。无论如何,我似乎已经解决了这个问题。感谢您查看我的问题。