自定义django render_comment_form字段

时间:2012-07-13 19:38:19

标签: python django django-forms django-templates django-comments

(使用django.contrib.comments)

放置时:

{% load comments %}
{% render_comment_form for event %}

进入模板。它会生成一个包含Nameemailurlcomment字段的表单。

有没有办法让comment字段出现,并在发布数据时隐藏其他字段?或者我应该自己重新创建表单?

提前感谢您的建议。

2 个答案:

答案 0 :(得分:2)

您可以将属性is_hidden添加到评论表单的字段中,并为其指定值True。在这种情况下,只会打印字段的值,但我不确定这是你想要的。

但幸运的是,您可以自己修改表单。代码在以下位置搜索模板:

template_search_list = [
    "comments/%s/%s/form.html" % (ctype.app_label, ctype.model),
    "comments/%s/form.html" % ctype.app_label,
    "comments/form.html"
]

您可以查看form.html here的当前内容以及render_comments_form模板代码here的代码。)

如果您想修改整个网站的表单,那么您可以创建自己的comments/form.html版本,但您也可以为特定的Django应用程序创建form.htm,甚至可以创建特定的模型Django app。在该表单模板中,您可以自定义显示哪些字段以及隐藏哪些字段。

答案 1 :(得分:0)

只需在form.html页面中添加此行: -

{% if field.name != "name" and field.name != "email" and field.name != "url" %}

你需要像这样添加: -

{% if field.is_hidden %}
<div>{{ field }}</div>
{% else %}
{% if field.name != "name" and field.name != "email" and field.name != "url" %}
{% if field.errors %}{{ field.errors }}{% endif %}

......它对我有用......不需要做任何其他事情..我只是想要评论框而不是其他!!!!