【发布时间】:2018-01-18 12:48:36
【问题描述】:
我在看wagtail hello-world form
示例:
class FormField(AbstractFormField):
page = ParentalKey('FormPage', related_name='form_fields')
class FormPage(AbstractEmailForm):
landing_page_template = 'blog/form_page.html'
intro = RichTextField(blank=True)
thank_you_text = RichTextField(blank=True)
content_panels = AbstractEmailForm.content_panels + [
FormSubmissionsPanel(),
FieldPanel('intro', classname="full"),
InlinePanel('form_fields', label="Form fields"),
FieldPanel('thank_you_text', classname="full"),
MultiFieldPanel([
FieldRowPanel([
FieldPanel('from_address', classname="col6"),
FieldPanel('to_address', classname="col6"),
]),
FieldPanel('subject'),
], "Email"),
]
如果给出这样的模板:
{% for field in form %}
{{ field }}
{% endfor %}
它将呈现类似于以下内容的 HTML:
<input type="text" name="label1" value="Default Label1" required maxlength="255" id="id_label1" />
<input type="url" name="label2" value="http://Label2.net" id="id_label2" />
<textarea name="label3" required rows="10" id="id_label3" cols="40">
如何修改/添加额外属性到呈现的输入字段?
例如:
- 如何添加
class="form-control"? - 如何在
textarea输入中更改rows="5"?
除了疯狂的javascript还有其他方便的方法吗?
【问题讨论】:
标签: django django-forms wagtail