我尝试启用占位符在我的注册表单与4个字段:电话,电子邮件,密码1,密码2。对于前两个字段都正确,但对于密码字段它不工作。
形式。派克
from django import forms
from django.contrib.auth.forms import UserCreationForm
from customuser.models import User
from django.forms import TextInput,EmailInput,PasswordInput
class SignUpForm(UserCreationForm):
class Meta:
model = User
fields = ('phone', 'email', 'password1', 'password2', 'is_client','is_partner')
widgets = {
'email': EmailInput(attrs={'class': 'form-control', 'placeholder': 'Email adress'}),
'phone': TextInput(attrs={'class': 'form-control', 'placeholder': 'Phone number +79011234567'}),
'password1': PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password from numbers and letters of the Latin alphabet'}),
'password2': PasswordInput(attrs={'class': 'form-control', 'placeholder': '
Password confirmation'}),
}
我测试了@Alasdair的解决方案,并以这种方式为我工作:
from django import forms
from django.contrib import auth
from django.contrib.auth.forms import UserCreationForm
from django.utils.translation import ugettext_lazy as _
class RegistrationForm(UserCreationForm):
first_name = forms.CharField(label=_("First name"), widget=forms.TextInput(attrs={'placeholder': _("First name")}))
email = forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={'placeholder': _("Email")}))
class Meta(UserCreationForm.Meta):
model = auth.get_user_model()
fields = [
'first_name',
'email',
'password1',
'password2'
]
def __init__(self, *args, **kwargs):
super(InviteRegistrationForm, self).__init__(*args, **kwargs)
self.fields['password1'].widget = forms.PasswordInput(attrs={'placeholder': _("Password")})
self.fields['password2'].widget = forms.PasswordInput(attrs={'placeholder': _("Password")})
这个代码很好用
class SignUpForm(UserCreationForm):
password1 = forms.CharField(max_length=16, widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password from numbers and letters of the Latin alphabet'}))
password2 = forms.CharField(max_length=16, widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password confirm'}))
class Meta:
model = User
fields = ('phone', 'email', 'password1', 'password2', 'is_client','is_partner')
widgets = {
'email': EmailInput(attrs={'class': 'form-control', 'placeholder': 'Email adress'}),
'phone': TextInput(attrs={'class': 'form-control', 'placeholder': 'Phone number format +79011234567'}),
}
Meta。widgets
选项不适用于表单中声明的字段。参见文档中的注释。在这种情况下,password1
和password2
是在UserCreationForm
上声明的(它们不是模型字段),因此不能在小部件中使用它们。
您可以在
__init__
方法中设置小部件:
class SignUpForm(UserCreationForm):
class Meta:
model = User
fields = ('phone', 'email', 'is_client', 'is_partner')
widgets = {
'email': EmailInput(attrs={'class': 'form-control', 'placeholder': 'Email adress'}),
'phone': TextInput(attrs={'class': 'form-control', 'placeholder': 'Phone number +79011234567'}),
}
def __init__(self, *args, **kwargs):
super(SignUpForm, self).__init__(*args, **kwargs)
self.fields['password1'].widget = PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password from numbers and letters of the Latin alphabet'})
self.fields['password2'].widget = PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password confirmation'})
问题内容: 在Django中,我具有以下代码,该代码在HTML页面上创建用户名和密码表单: 我想在该字段中添加“用户名”和“密码”占位符文本,然后在用户单击该字段时消失。实现此目标的最佳方法是什么? 问题答案: 您必须使用占位符属性 要么
问题内容: 我正在尝试创建一个模型,在其中可以存储其他应用程序的用户名和密码。如何在Django中设置密码字段,使其在admin中不是纯文本格式?提前致谢。 问题答案: 正如@mlissner所建议的那样,该模型是一个不错的选择。如果你查看源代码,则会看到该d字段是。 该User模型也有一种set_password方法。 你可以从此方法中获得一些有关创建和保存密码的线索。
问题内容: 我正在尝试使用Swing创建GUI。我的问题是,我有一个文本字段,但我希望它有一个“占位符”(如html)。我在这里和那里读到,可以通过重写文本字段的paint()来完成此操作。 由于生成了我的代码,因此我发现我需要使用“自定义创建代码”来覆盖生成的代码。 这是我在“自定义创建代码”字段中输入的内容 这将产生以下输出 现在,我看到了textField,但其中没有任何内容,也许我需要在某
主要内容:创建密码字段,示例用于密码输入。用户键入的字符通过显示回显字符串被隐藏。 创建密码字段 以下代码使用来自类的默认构造函数创建一个密码字段,然后为密码字段设置提示消息文本。 提示消息在字段中显示为灰色文本,并为用户提供该字段是什么的提示,而不使用标签控件。 类有方法来为控件设置文本字符串。对于密码字段,指定的字符串由回显字符隐藏。默认情况下,回显字符是一个点(或是星号)。 密码字段中的值可以通过方法获取。 示例 密码
问题内容: 如何以html形式居中输入字段的占位符对齐方式? 我正在使用以下代码,但是它不起作用: CSS-> HTML-> 问题答案: 如果只想更改占位符样式
我想将占位符添加到类似于HTML5占位符属性的TextField,但我找不到合适的方法。有没有或唯一的方法是实现自己?
本文向大家介绍Safari中的HTML5日期字段和占位符文本,包括了Safari中的HTML5日期字段和占位符文本的使用技巧和注意事项,需要的朋友参考一下 占位符属性不支持输入类型日期上的输入元素。 但是,您可能已经看到它在Safari Web浏览器上有效,因为它不支持日期类型。那将意味着该属性将被忽略,而其余仅是纯文本字段。 因此,以下在Safari桌面上有效- 和HTML-