2

(django.contrib.comments を使用)

置くとき:

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

テンプレートに。Nameemailurlおよびcommentフィールドを持つフォームをレンダリングします。

commentフィールドを表示し、データを投稿している間に他のフィールドを非表示にする方法はありますか? それとも、自分でフォームを再作成する必要がありますか?

ご提案いただきありがとうございます。

4

2 に答える 2

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 こちらrender_comments_formテンプレートタグのコードはこちら)。

Web サイト全体のフォームを変更する場合は、独自のバージョンを作成できますが、特定の Django アプリまたは Django アプリの特定のモデル用にcomments/form.html作成することもできます。form.htmそのフォーム テンプレートでは、表示するフィールドと非表示にするフィールドをカスタマイズできます。

于 2012-07-13T19:47:20.807 に答える
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 %}

...それは私にとってはうまくいきました...他に何もする必要はありません..私はただコメントボックスが欲しかっただけです!!!!

于 2012-07-14T10:12:18.190 に答える