2017-02-07 5 views
0

私はWagtail Form Builderを使用しています。サイトの作成者は独自のサイト固有のテンプレートを使用して独自のFormPageタイプを作成できます。Wagtail - 子ページの参照フォーム

私は親ページのすべてのフォームページをレンダリングしたい;これには、タイトルや完全な子フォームなどのすべての子ページフィールドが含まれます。

送信ボタンは、フォームごとに動作するのが理想的です。私ができることを私が見つけた

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"), 
    ] 

:いくつかの余分なフィールドを持つForm Builderドキュメントごとに

<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> 

マイフォームモデルは、多かれ少なかれ、次のとおりです。ここで

は、私が試したものです.specificメソッドを使用する場合は、titleやintroなどの子ページフィールドをレンダリングします。

しかし、フォームをレンダリングすることはできません。 .specificタグの有無にかかわらず

どのようなヘルプも大歓迎です!オフトピック多分任意の助けの

+0

非常によく似た質問に対する答えがここにあります: https://stackoverflow.com/questions/42673180/how-can-i-add-a-form-made-by-formbuilder-to-everyページング・イン・ワグテール –

答えて

0

{page.get_children%で、子供のための%}が

を置き換えることができ

page.get_children.specificの%での子供のための{% }

関連する問題