我有一个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().get_initial()

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

    return initial

"get_initial"应返回一个字典,其中键是表单上字段的名称,值是向用户显示表单时使用的初始值.

Django相关问答推荐

如何组织 Django REST Framework url

将两个视图重定向到具有不同 url id Django 的一个模板的正确方法

如何将数据库中的 None 序列化为空对象?

在 python 视图中检测移动浏览器

django 创建多种类型用户的最佳方法

django REST 框架 - 嵌套 ModelSerializer 的有限查询集?

恢复 Django 1.7 RemoveField 迁移

将 **kwargs 传递给 Django 表单

django 在 ubuntu 中安装在哪里

将网络测功机添加到 Heroku django 应用程序时如何克服Coudn't find that formation错误?

Django - 在模板中显示当前日期和时间

Django,如何从模型表单的 Select 字段中删除空白 Select ?

Django Admin - 覆盖自定义表单字段的小部件

Ruby on Rails 会影响网页的外观吗?

jinja2模板引擎中的这个-是做什么的?

在 django 模板中访问元组

如何将我的上下文变量传递给 Django 中的 javascript 文件?

Django:AppRegistryNotReady()

django select_related - 何时使用它

django.core.servers.basehttp.FileWrapper 在 Django 1.9 中消失