如何在Django字段中使用多个小部件?

3

我在一个表单中有一个特定的字段需要具有自定义属性,并且以密码框的形式进行样式设置。目前,我的代码如下:

login_password = forms.CharField(label=(u'password'))

但我需要两者都:

widget=forms.TextInput(attrs={'placeholder': 'password'})
widget=forms.PasswordInput(render_value=False)

我该如何让这个字段使用这两个小部件?我了解到MultiWidget,但不确定是否需要使用它以及如何使用。

1个回答

4

PasswordInput也接受attrs参数。

login_password = forms.CharField(label=u'password', widget=forms.PasswordInput(render_value=False, attrs={'placeholder': 'password'}))

2
哦,太好了,我没有意识到这一点。但是如果我确实需要多个小部件,我该如何实现呢? - user623990
@MaxMackie 这是一个非常普遍的问题。它的答案与更加普遍的问题相同:“如果我有两个类,如何制作结合这两个类的类?”具体的答案取决于具体的任务:有时您可以使用MultiWidget,有时您可以继承一个类并从另一个类中借用一些方法,有时(从未见过)直接从两个父类继承是可能的。在许多情况下,您所需要做的就是搜索并找到现有的解决方案。 :-) - DrTyrsa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接