当前位置: 首页 > 面试题库 >

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

翁阳曜
2023-03-14
问题内容

我有一个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

这很好。但是,我在会话中也有一些值(不是来自任何绑定模型),我希望将这些值预先填充到表单中。这些取决于用户在前一页上的操作而有所不同。我从另一篇文章中知道,我可以将表单传递给上下文(使用initial=),但是在上面的FormView情况下可以吗?


问题答案:

您可以重写FormView类的’get_initial’方法。看到这里了解更多信息,

例如

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”应返回一个字典,其中的键是表单上字段的名称,而值是向用户显示表单时要使用的初始值。



 类似资料:
  • 我使用BS4从https://www.worldometers.info/coronavirus/中获取了全国统计数据。但我想用这些数据填充我的django模型,这些数据与我不知道如何填充的刮取数据相同。在使用其他库(如scrapy(celery))刮取表格数据时,我也遇到了麻烦。这是我试图报废“//*[@id=”Main_Table_Countries_Today“]”表的xpath。如果有人能

  • 我有一个基于类的视图(IndexView at views.py),它显示了一个包含数据库中存储的所有数据的表。此视图在索引中呈现。html使用获取所有数据。还没有问题。 对我来说,困难的部分是尝试使用表单来完成它,以便能够修改和保存金额列。我对POST部分没有问题,我使用AJAX来保存新值。我遇到的问题是从数据库中获取初始值以填充Django表单(forms.py) 我尝试在表单字段的定义中使用

  • 我的数据来自名为Menu的模态类,通过创建其对象菜单。现在我如何将菜单名称发送到tableview以在特定单元格中显示 在这里,所有数据都通过menus对象保存在Menu类中。我添加了向tableview显示数据的代码。在这里,我创建了自定义tableview并尝试填充它 它不起作用。如何实施? 它显示了项目ame.classname

  • //内容提供程序代码 公共静态最终字符串授权=“com.battlestarMathematica.stayfresh.pantryprovider”; //游标加载程序代码

  • 问题内容: 我有一个带有created_by字段的模型,该模型链接到标准Django用户模型。保存模型时,我需要使用当前用户的ID自动填充它。我无法在Admin层执行此操作,因为该网站的大部分内容都不会使用内置的Admin。谁能建议我该怎么做? 问题答案: 如果你希望某些东西在管理员和其他地方都可以使用,则应使用自定义模型形式。基本思想是重写该__init__方法以采用一个额外的参数-reques

  • 我有一个返回JSON对象的REST方法,JSON文件大小差不多有7MB,有差不多4600个JSON对象。我无法一次将整个数据解析到recyclerView中,因为这会导致OutOfMemory异常。 我在这里面临的问题是recyclerview显示的ROLL_NUM、CURRENT_CLASS、STUDENT_NAME的值为空 示例JSON响应:{“RESTRESULT”:[{“”ROLL_NUM