1

我创建了一个简单的表单、视图和模板文件,如下所述。我的表单字段之一是必需的(url1),一个是可选的(comment1)。在我的模板中,我想根据这两个字段是否可选(例如:红色为必需,绿色为 Optionali)以不同方式显示这两个字段的字段标签。我怎样才能做到这一点?

理想情况下,表单中应该有一个布尔值,如下所示: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 来为评论用一种颜色和 url 用另一种颜色着色。我认为您不需要为此使用 required

于 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 回答