我想手动呈现一个表单的字段,这样我的设计师同事就可以操纵HTML中的输入元素,而不是在Python源代码中挣扎。你如何手动渲染一个表单域的初始值设置?
即。而不是声明表单字段是这样的...
{{ form.first_name }}
..其实我...的
<label for="id_first_name">Your name:</label>
<input type="text" value="{{ form.first_name.somehow_get_initial_value_here }}" name="first_name" id="id_first_name" class="blabla" maxlength="30" >
{% if form.first_name.errors %}<span>*** {{ form.first_name.errors|join:", " }}</span>{% endif %}
问题是,似乎没有办法让字段的初始值第二种方法。 {{form.first_name}}语句确实使用正确的初始值呈现输入元素,但不知何故,当您想手动呈现表单时,没有任何东西像{{form.first_name.initial_value}}字段。
输入标签有一个'value'属性。例如,''input type =“text”maxlength =“30”name =“first_name”id =“id_first_name”class =“blabla”value =“initial value”>'那是你需要的吗? – JoshD 2010-10-14 03:51:45
谢谢,但初始值来自服务器端,动态。编辑代码示例更清晰。 – 2010-10-14 03:56:30
如果您在创建表单类实例时在'initial'字典中提供了'first_name',则在第一次显示表单时,该值将自动在'{{form.first_name}}'中提供。 – 2010-10-14 04:30:33