Django 表单输入字段样式



我已经重新定义了联系我们页面的表单,这是标准django-form的东西,但我正在努力理解如何在字段中编写<inpout>描述。

准确地说,我想在字段中写Name <input>那么我该怎么做。我像{{ form.name }}一样定义<input>字段,那么我如何定义它更像<input type="name" class="form-control" id="id_name" placeholder="Your Name">

   <div class="col-xs-12 col-sm-12 col-md-4 col-md-offset-2 col-lg-4">
       {% if form.errors %}
           <p style="color: red">
               Please correct the error{{ form.errors|pluralize }} below.
           </p>
       {% endif %}
            <form class="form-horizontal" action="." method="POST">
                {% csrf_token %}
                <div class="field form-group">
                    {{ form.name.errors }}                        
                    <label for="id_name" class="control-label"></label>
                    <div class="col-sm-10">    
                        {{form.name}}
                    </div>
                </div>
                <div class="field form-group">
                    {{ form.email.errors }}                        
                    <label for="id_email" class="control-label"></label>
                    <div class="col-sm-10">
                        {{ form.email }}
                    </div>
                </div>
                <div class="field form-group">
                    {{ form.phone_number.errors }}                        
                    <label for="id_phone_number" class="control-label"></label>
                    <div class="col-sm-10">
                        {{ form.phone_number }}
                    </div>
                </div>
                <div class="field form-group">
                    {{ form.message.errors }}                        
                    <label for="id_message" class="control-label"></label>
                    <div class="col-sm-10">
                        {{ form.message }}
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-12">
                        <input type="submit" class="btn btn-primary btn-block" value="Submit"></button>
                    </div>
                </div>
            </form>
          </div><!--/end form colon -->

如果你想修改占位符文本,或者Django创建的字段的其他值,可以使用小部件的attrs在表单代码中完成:

class MyForm(forms.Form):
    name = forms.CharField(
        widget=forms.TextInput(
            attrs={
                'class': 'my-class',
                'placeholder': 'Name goes here',
            }))

如果你打算将所有代码保留在模板中,你必须手动创建每个输入字段,而不是使用 Django 渲染的输入字段。不过,您仍然可以访问模板中生成的字段的值来帮助您执行此操作。

<input name="{{ form.name.name }}" type="text" placeholder="Name field">

最新更新