将nobr html标签应用于django表单字段

时间:2012-12-17 10:01:06

标签: html css django django-templates

我正在使用此reference设置django表单字段。

形式:

class contact(forms.Form):
    first_name = forms.CharField()
    middle_name = forms.CharField()
    last_name = forms.CharField()

模板:

<form action="/contact/" method="post">
    {% include "form_snippet.html" %}
    <p><input type="submit" value="Send message" /></p>
</form>

在form_snippet.html中:

{% for field in form %}
    <div class="fieldWrapper">
        {{ field.errors }}
        {{ field.label_tag }}: {{ field }}
    </div>
{% endfor %}

在css中:

.fieldWrapper{
    font-size; 10px;
    color: #f00;
    font-family: verdana, tahoma, serif;
    white-space:nowrap;
}

当我运行服务器时,每个表单字段都显示在新行中。

我希望将这三个表单字段放在同一行中,而不是每行都在新行中。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

像这样更新css代码,

 .fieldWrapper{
   font-size; 10px;
   color: #f00;
   font-family: verdana, tahoma, serif;
   white-space:nowrap;
   display:inline;
 }

答案 1 :(得分:1)

您将每个字段包装在div标记中,即块元素。

.fieldWrapper类提供非阻止定位..例如inlinefloat:left等。

答案 2 :(得分:0)

由于div是一个块元素,因此将div标签放在'for'循环中:

 <div class="fieldWrapper"> 
 {% for field in form %}
         {{ field.errors }}
         {{ field.label_tag }}: {{ field }}
 {% endfor %} 
 </div>

或 没有添加外部css类:

 {% for field in form %}
        {{ field.errors }}
        <nobr> {{ field.label_tag }}: {{ field }}</nobr>
 {% endfor %}