gpt4 book ai didi

python - Django:表单的动态初始值失败

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:45 24 4
gpt4 key购买 nike

我正在使用 Django django.forms.Formdjango.views.generic.edit.FormView 呈现 HTML 模板。

我想为表单中的某些字段添加默认值,但遇到问题:

Error:

这是我的代码:

from django.views.generic.base import TemplateView
from django.views.generic.edit import FormView

class SignForm(forms.Form):
greeting_message = forms.CharField(
label='Greeting message',
widget=forms.Textarea,
required=True,
max_length=100,
)
book_name = forms.CharField(
label='Guestbook name',
max_length=10,
required=True,
)

class SignView(FormView):
"""Assign initial value for field 'book_name'."""

form_class = SignForm(
initial={
'book_name': 'aaaa'
}
)

def form_valid(self, form):
...

谁能帮帮我?

最佳答案

正如上面的评论所说,您必须将 form_class 分配给类。通过用括号和参数做你所拥有的,你正在实例化一个对象,这就是你有异常的原因。

相反,要设置初始数据,请定义 get_initial 函数,如下所示:

def get_initial(self):
initial = super(SignView, self).get_initial()
initial['book_name'] = 'aaaa'
return initial

Docs are available here .

关于python - Django:表单的动态初始值失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28351236/

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