在视图中添加占位符。在 Django 中登录
Posted
技术标签:
【中文标题】在视图中添加占位符。在 Django 中登录【英文标题】:add placeholder in views.Login in Django 【发布时间】:2019-06-05 12:00:01 【问题描述】:我使用 django.contrib.auth.views 导入登录
但我想在登录视图中添加 css 和占位符
我用python3
网址:
url(r'^login$' , LoginView.as_view(template_name='login.html'), name='Login' , kwargs="authentication_form": LoginUser),
表格:
从 django.contrib.auth.forms 导入 AuthenticationForm from django.forms.widgets import PasswordInput, TextInput
class LoginUser(AuthenticationForm):
username = forms.CharField(widget=TextInput(attrs='style':'font-size : 20px;color:white','placeholder': 'Username'))
password = forms.CharField(widget=PasswordInput(attrs='placeholder':'Password' , 'style' : 'font-size : 20px;color:white'))
此代码不起作用
你可以帮帮我
【问题讨论】:
【参考方案1】:您可以使用以下代码:
class LoginUser(AuthenticationForm):
username = forms.CharField(widget=TextInput(attrs='class':'your_class', 'placeholder': 'Username'))
password = forms.CharField(widget=PasswordInput(attrs='class':'your_class', 'placeholder': 'Password'))
我建议使用 css 类并将类名添加到表单字段 attr。你也可以套用样式,只是说。
【讨论】:
【参考方案2】:虽然不建议在 Django 端修改 css 属性,但可以这样。
class LoginUer(AuthenticationForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# custom class attributes for all the fields, for example: bootstrap themes.
for field in self.fields:
self.fields[field].widget.attrs.update(
'class':'form-control'
)
# or you can modify the field attribute one by one.
self.fields['username'].widget.attrs.update(
'class': 'whatever-class',
'placeholder': 'your placeholder here')
# same for the password fields
【讨论】:
以上是关于在视图中添加占位符。在 Django 中登录的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django Admin 的搜索框中添加占位符文本?