1

以下に説明するように、単純なフォーム、ビュー、およびテンプレートファイルを作成しました。フォームフィールドの1つは必須(url1)で、もう1つはオプション(comment1)です。私のテンプレートでは、これら2つのフィールドのフィールドタグを、オプションかどうかに基づいて異なる方法で表示したいと思います(たとえば、赤で必須、緑でオプション)。どうやってやるの?

理想的には、次のようなフォームにブール値があります:form.url1.required_flag

これが私のフォームです:

class myForm(forms.Form):
    url1 = forms.URLField(max_length=255, label='URL #1', required=True)
    comment1 = forms.CharField(max_length=255, label='Comment #1', required=False)

このフォームのビューは非常に単純です。特別なことは何もありません。

テンプレートファイルの関連部分は次のとおりです。

<tr>
    <td width="100" align="right">
        <div class="field_label">
            {{ form.url1.label_tag }}:
        </div>    
    </td>
    <td width="300">
        <div class="form_element_input">
            {{ form.url1 }}
        </div>    
    </td>
    <td width="100" align="right">
        <div class="field_label">
            {{ form.comment1.label_tag }}:
        </div>    
    </td>
    <td width="300">
        <div class="form_element_input">
            {{ form.comment1 }}
        </div>    
    </td>
</tr>
4

2 に答える 2

3
{% if form.comment1.field.required %}
  //do something
{% else %}
  //do something else
{% endif %}

助けるべき

しかし、繰り返しになりますが、CSSを使用して、コメントを1つの色で色付けし、URLを別の色で色付けすることができます。そのために必要なものを使う必要はないと思います

于 2013-02-06T07:19:35.923 に答える
0

を見てみましょうrequired_css_class

class myForm(forms.Form):
    required_css_class = 'required'
    url1 = forms.URLField(max_length=255, label='URL #1', required=True)
    comment1 = forms.CharField(max_length=255, label='Comment #1', required=False)

を使用してcssクラスに到達form.field.css_classesするかas_pas_tableメソッドのいずれかを使用するとそれらが出力されます。

于 2013-02-06T07:24:47.187 に答える