В UserCreationForm Django отображается только первый заполнитель.Python

Программы на Python
Anonymous
В UserCreationForm Django отображается только первый заполнитель.

Сообщение Anonymous »

Я пытаюсь создать страницу регистрации с настраиваемой формой создания пользователя — добавьте заполнители в поля. Я пытаюсь сделать это следующим образом:

Код: Выделить всё

forms.py

class SignUpForm(UserCreationForm):
email = EmailField(max_length=200)

class Meta:
model = User
fields = UserCreationForm.Meta.fields + ("password1", "password2", "email")
widgets = {
'username': TextInput(attrs={'placeholder': 'Username'}),
'email': EmailInput(attrs={'placeholder': 'Email'}),
'password1': PasswordInput(attrs={'placeholder': 'Password'}),
'password2': PasswordInput(attrs={'placeholder': 'Repeat password'}),
}

Код: Выделить всё

views.py

def signup(request):
if request.method == "POST":
form = SignUpForm(request.POST)
if form.is_valid():
user = form.save()
login(request, user)
return HttpResponseRedirect(reverse("event:list"))
else:
form = SignUpForm()
return render(request, "registration/signup.html", {"form": form})

Код: Выделить всё

signup.html

{% extends "base.html" %}
{% block signup %}class="active"{% endblock %}

{% block content %}


{% csrf_token %}

{{ form.username }}

{{ form.email }}

{{ form.password1 }}

{{ form.password2 }}

Sign up


{% endblock %}
Однако это влияет только на заполнители имени пользователя — остальные не затрагиваются.
Я пытался добавить заполнитель в объявление переменной электронной почты, которая работает. Однако должен быть более простой способ сделать это, и даже если бы я это сделал, в паролях все равно не было бы заполнителей. Я также пытался сделать поля переменными, например

Код: Выделить всё

email = CharField(TextInput(attrs{'placeholder': 'Email'})
, но это тоже не помогло.
Попробовал сделать это, как в теме «Добавление заполнителя в UserCreationForm в Django», но это ничего не изменило.
Другие темы тоже, вероятно, из-за версии Django. Каждый раз перед тем, как попробовать, я удаляю данные просмотра сайта, чтобы убедиться, что это не проблема на стороне клиента.
Я использую Django 5.0.6.

Подробнее здесь: https://stackoverflow.com/questions/787 ... eationform

Вернуться в «Python»