如何访问内置登录系统字段的django
How to access djagno built in login system fields
所以当我在网上查看有关如何使用 django 内置登录系统的教程时,我发现他们在模板中使用 {{ form.as_p }}
,我如何才能单独访问模板中的每个字段,以便将它们放入我自己的样式模板 ?
您可以从 Django 源代码中查找登录表单字段名称。这里 - https://github.com/django/django/blob/master/django/contrib/auth/forms.py.
您可以通过继承默认值来重新定义字段AuthenticationForm
from django import forms
from django.contrib.auth.forms import AuthenticationForm
class UserLoginForm(AuthenticationForm):
def __init__(self, *args, **kwargs):
super(UserLoginForm, self).__init__(*args, **kwargs)
username = forms.EmailField(widget=forms.TextInput(
attrs={
'class': 'your-class',
'placeholder': 'Enter your username',
'id': 'username-input'
}))
password = forms.CharField(widget=forms.PasswordInput(
attrs={'class': 'your-class'}))
在模板中,您可以通过 {{ form.username }}
和 {{ form.password }}
访问这些文件
您也可以将每个字段包裹在 <div>
标签中并添加一些 类,例如:
<form action="/your-view/" method="post">
{% csrf_token %}
<div id="username-input" class="form-control your-class">
{{ form.username }}
</div>
<div id="password-input" class="another-class">
{{ form.password }}
</div>
<input type="submit" value="OK">
</form>
所以当我在网上查看有关如何使用 django 内置登录系统的教程时,我发现他们在模板中使用 {{ form.as_p }}
,我如何才能单独访问模板中的每个字段,以便将它们放入我自己的样式模板 ?
您可以从 Django 源代码中查找登录表单字段名称。这里 - https://github.com/django/django/blob/master/django/contrib/auth/forms.py.
您可以通过继承默认值来重新定义字段AuthenticationForm
from django import forms
from django.contrib.auth.forms import AuthenticationForm
class UserLoginForm(AuthenticationForm):
def __init__(self, *args, **kwargs):
super(UserLoginForm, self).__init__(*args, **kwargs)
username = forms.EmailField(widget=forms.TextInput(
attrs={
'class': 'your-class',
'placeholder': 'Enter your username',
'id': 'username-input'
}))
password = forms.CharField(widget=forms.PasswordInput(
attrs={'class': 'your-class'}))
在模板中,您可以通过 {{ form.username }}
和 {{ form.password }}
您也可以将每个字段包裹在 <div>
标签中并添加一些 类,例如:
<form action="/your-view/" method="post">
{% csrf_token %}
<div id="username-input" class="form-control your-class">
{{ form.username }}
</div>
<div id="password-input" class="another-class">
{{ form.password }}
</div>
<input type="submit" value="OK">
</form>