如何将模板变量传递给Django向导表单

1 投票
1 回答
1037 浏览
提问于 2025-04-17 00:54

我做了一个简单的向导表单,内容如下:

forms.py

class Posting_Wizard(FormWizard):

    def done(self, request, form_list):
        return HttpResponseRedirect(reverse('accounts-registration-wizard-done'))

    def get_template(self, step):
        return 'listing/post/wizard/wizard_%s.html' % step

然后我创建了一个视图,用来显示上面的向导。

views.py

def post_wizard(request):
    contextz = {
        'dude' : 'text is appearing',
    }

    form = Posting_Wizard([SelectMainCategory_Form, ])

    return form(
        context=RequestContext(request , contextz),
        request=request
    )

这个表单成功显示出来了,但我想传递一个上下文变量,这样我就可以在特定的步骤或者任何步骤中使用它。有没有人知道我该怎么做?

祝好,

1 个回答

0

你可以在你的 Posting_Wizard 类里提供一个叫 extra_context 的属性,这个属性是一个字典,或者你也可以在你的网址配置中传递它。

详细信息可以查看这里: https://docs.djangoproject.com/en/1.3/ref/contrib/formtools/form-wizard/#creating-templates-for-the-forms

你还可以在你的 FormWizard 子类中重写 render_template 方法,以添加自定义的上下文。

撰写回答