【问题标题】:Django: How to pre-populate a form when using non-model data?Django:使用非模型数据时如何预填充表单?
【发布时间】:2014-02-14 16:17:08
【问题描述】:

在我的例子中,Django 应用程序通过 API 将用户数据保存到外部服务或从外部服务获取用户数据。我得到一个具有许多用户属性的对象,例如姓名、地址等

为了更新此类信息,我使用 Django 的原生表单,使用简写模板格式,例如:{{ edit_account_form.as_p }}

当我显示表单以编辑信息时,我想使用来自用户对象的数据预先填充它。我知道我可以将对象传递到模板中并将这些值呈现到每个输入字段的 val 和占位符中,但是这将要求我完全重新创建输入的表单,我不希望这样做。

可能吗?

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    使用initial 在运行时声明表单域的初始值。例如,您可能想用当前会话的用户名填写用户名字段。

    f = ContactForm(initial={'subject': 'Hi there!'})
    

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 2014-03-31
      • 2020-11-26
      • 2012-08-14
      • 2014-06-11
      • 2015-09-02
      • 2019-01-29
      • 2018-01-06
      相关资源
      最近更新 更多