Django设置默认表单值
在Django中,要设置表单的默认值,可以在表单类中定义一个名为initial
的字典,其中包含要设置的默认值。
例如,假设您有一个名为MyForm
的表单类,其中包含一个名为name
的字段,您可以通过以下方式设置默认值:
class MyForm(forms.Form):
name = forms.CharField(max_length=100)
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.initial['name'] = 'John Doe'
在这个例子中,表单的name
字段将默认为John Doe
。
如果您想要根据请求或其他条件动态设置默认值,可以在__init__
方法中进行操作。例如:
class MyForm(forms.Form):
name = forms.CharField(max_length=100)
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
if 'request' in kwargs:
request = kwargs.pop('request')
if request.user.is_authenticated:
self.initial['name'] = request.user.username
在这个例子中,如果用户已经登录,表单的name
字段将默认为用户的用户名。
总之,要设置Django表单的默认值,可以在表单类的__init__
方法中使用self.initial
字典来设置。
领取专属 10元无门槛券
手把手带您无忧上云