Я пытаюсь создать форму django, чтобы пользователи могли войти в систему.
forms.py
class LoginForm(forms.ModelForm):
username = forms.CharField(label='User name', max_length=30)
password = forms.PasswordInput()
class Meta:
model = User
fields = '__all__'
widgets = {'password': forms.PasswordInput()}
views.py
def login_view(request):
form_context = {'login_form': LoginForm,}
url = "users/login.html"
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
...
else:
context = form_context
return render(request, url, context)
логин. html
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<table>
<tr>
<td>{{ login_form.username.label_tag }}</td>
<td>{{ login_form.username }}</td>
<td rowspan="2"><button type="submit" class="btn btn-success">Login</button></td>
</tr>
<tr>
<td>{{ login_form.password.label_tag }}</td>
<td>{{ login_form.password }}</td>
</tr>
</table>
</form>
У меня проблема в том, что если строка
widgets = {'password': forms.PasswordInput()}
Если вы используете, то форма предварительно заполняется именем пользователя и паролем
Если строка закомментирована, форма не заполняется заранее, а пароль в виде простого текста.
Что не так здесь