Saya menggunakan Pembuat Formulir Wagtail sehingga pelaksana situs dapat memperluas untuk membuat tipe FormPage mereka sendiri dengan templat khusus situs mereka sendiri.
Saya ingin merender semua halaman formulir di halaman induk; ini mencakup semua bidang halaman anak, seperti judul, serta formulir anak lengkap.
Idealnya, tombol kirim juga harus bertindak berdasarkan kinerja.
Inilah yang saya coba:
<ul>
{% for child in page.get_children %}
<li>
<h5 class=>{{ child.specific.title }}</h5>
<div>
{{ child.specific.intro|richtext }}
<div id="form-holder">
<form action="{% child.pageurl page %}" method="POST">
{% csrf_token %}
{{ child.specific.form.as_p }}
<input type="submit">
</form>
</div><!-- contact-form-holder-->
</div>
</li>
{% endfor %}
</ul>
Model formulir saya kurang lebih sesuai dengan Pembuat Formulir dokumentasi dengan beberapa bidang tambahan:
class FormField(AbstractFormField):
db_table = 'form_field'
page = ParentalKey('FormPage', related_name='form_fields')
class FormPage(AbstractEmailForm):
db_table = 'form_page'
header = models.CharField(max_length=250)
intro = RichTextField(blank=True)
thank_you_text = RichTextField(blank=True)
content_panels = AbstractEmailForm.content_panels + [
FormSubmissionsPanel(),
FieldPanel('intro', classname="full"),
FieldPanel('header'),
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"),
]
Saya menemukan bahwa saya dapat merender bidang halaman anak seperti judul dan intro jika saya menggunakan metode .specific
.
Namun, sepertinya saya tidak bisa mendapatkan formulir apa pun untuk dirender; dengan atau tanpa tag .specific
.
Bantuan apa pun akan sangat diterima!