成为django&的新手尝试一些我被困的乐趣,我得到了错误:
Comment post not allowed (400): Missing content_type or object_pk field.
我的form.html文件:
{% if user.is_authenticated %}
<form action="/comments/post/" method="post">{% csrf_token %}
<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 %}
有人可以帮忙吗?
答案 0 :(得分:1)
如果您要为django-contrib-comments应用提供自己的表单,则需要包含多个字段,其中一个字段是您要评论的对象的对象ID。否则Django不知道如何建立注释和对象之间的关联。
您需要查看:https://github.com/django/django-contrib-comments/blob/master/django_comments/forms.py
要查看表单上所需的所有字段,然后将其添加到自定义模板中。
答案 1 :(得分:0)
补充@ Brandon的回答,您需要提供django_comments所需的字段(出于安全原因,并将评论连接到您的内容)。
此代码段取自默认的comments/form.html
模板,可以使其正常工作:
<form action="/comments/post/" method="post">{% csrf_token %}
{% for field in form %}
{% if field.is_hidden %}
<div>{{ field }}</div>
{% endif %}
{% endfor %}
... your fields here
</form>