python – Django:如何使用动态(非模型)数据预先填充FormView?

我有一个FormView视图,使用get_context_data()提供了一些额外的GET上下文:

class SignUpView(FormView):
    template_name = 'pages_fixed/accounts/signup.html'
    form_class = SignUpForm

    def get_context_data(self, **kwargs):
        context = super(SignUpView, self).get_context_data(**kwargs)
        context = {
            'plans':    common.plans,
            'pricing':  common.pricing,
        }
        return context

这工作正常然而,我也有一些值,在会话(不是从任何约束的模型),我想预先填充的形式。这取决于用户在上一页的操作。我知道(从我的另一个post),我可以将表单传递到上下文(使用initial =),但是在上述的FormView情况下是否可能?

您可以覆盖FormView类的’get_initial’方法。参见here了解更多信息,

例如

def get_initial(self):
    """
    Returns the initial data to use for forms on this view.
    """
    initial = super(SignUpView, self).get_initial()

    initial['my_form_field1'] = self.request.something

    return initial

‘get_initial’应该返回一个字典,其中的键是表单上的字段的名称,并且值是在向用户显示表单时要使用的初始值。

http://stackoverflow.com/questions/22083218/django-how-to-pre-populate-formview-with-dynamic-non-model-data

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – Django:如何使用动态(非模型)数据预先填充FormView?