gpt4 book ai didi

django - 预填充 Django(非模型)表单

转载 作者:行者123 更新时间:2023-11-28 19:34:05 27 4
gpt4 key购买 nike

我试图根据一些信息在我的 django 表单中预填充数据,但没有使用 ModelForm,所以我不能只设置实例。

这看起来应该很容易,但出于某种原因,我找不到任何文档告诉我如何做到这一点。这是我的表格:

class MyForm(forms.Form):
charfield1 = forms.CharField(max_length=3)
charfield2 = forms.CharField(max_length=3)
choicefield = forms.ModelChoiceField(MyModel.objects.all())

我试过这样做:

form = MyForm()
form.charfield1 = "foo"
form.charfield2 = "bar"
# a model choice field
form.choicefield = MyModel.objects.get(id=3)

这是行不通的。

最佳答案

尝试:

form = MyForm({'charfield1': 'foo', 'charfield2': 'bar'})

Form 对象的构造函数可以采用字段值字典。这将创建一个绑定(bind)表单,该表单可用于验证数据并将表单呈现为 HTML 并显示数据。参见 the forms API文档以获取更多详细信息。

编辑:

为了完整起见,如果你不想绑定(bind)表单,而只想为某些字段声明初始值,你可以使用以下代替:

form = MyForm(initial={'charfield1': 'foo', 'charfield2': 'bar'})

请参阅 initial values 的文档了解详情。

关于django - 预填充 Django(非模型)表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com