【发布时间】:2011-04-25 04:48:33
【问题描述】:
我正在尝试手动呈现表单的字段,以便我的设计师同事可以在 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属性。 ` ` 例如。这是你需要的吗? -
谢谢,但初始值来自服务器端,是动态的。将代码示例编辑得更清楚。
-
如果您在创建表单类实例时在
initialdict 中提供了first_name,则在第一次显示表单时会自动在{{ form.first_name }}中提供该值。 -
如果唯一的问题是放置样式,您可以在代码的表单字段中添加 css 类。
标签: python django django-forms form-fields