9
from forms import MyContactForm
from django.views.generic.edit import FormView 

class MyFormView(FormView):
    template_name = 'my_forms.html'                                      
    form_class = MyContactForm  
    success_url = '/thanks/' 

私のテンプレートでは、フォームは次のように呼び出されます。

{{ form }}

しかし、どうすればこのように呼ぶことができますか?

{{ my_contact_form }}

object_context_nameこれは、 (モデルの場合)と同等のフォームになります。

4

1 に答える 1

9

あなたはオーバーライドすることができますget_context_data

class MyFormView(FormView):
    template_name = 'my_forms.html'                                      
    form_class = MyContactForm  
    success_url = '/thanks/' 

    # from ContextMixin via FormMixin    
    def get_context_data(self, **kwargs):
        data = super(MyFormView, self).get_context_data(**kwargs)

        data['my_contact_form'] = data.get('form')

        return data
于 2013-03-25T12:04:29.117 に答える