Код: Выделить всё
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