Моя причина для всего этого заключается в том, что у меня нет пароля для сброса для работы в моем родном интерфейсе React, поэтому мне приходится использовать шаблоны Django для этой функции. Я хочу иметь возможность изменить его стиль и иметь ссылки, которые будут соответствовать моему приложению как можно ближе. Но этот метод, как правило, должен позволять вам создавать свою собственную версию формы авторизации Django.
сейчас я делаю основной логин. В urls.py я захожу в django contrib login:
(r'^login/?Это стреляет это здесь:
@csrf_protect
@never_cache
def login(request, template_name='registration/login.html',
redirect_field_name=REDIRECT_FIELD_NAME,
authentication_form=AuthenticationForm):
Это представление использует модель форм AuthenticationForm:
class AuthenticationForm(forms.Form):
"""
Base class for authenticating users. Extend this to get a form that accepts
username/password logins.
"""
username = forms.CharField(label=_("Username"), max_length=30)
password = forms.CharField(label=_("Password"), widget=forms.PasswordInput)
Так...моя цель состоит в том, чтобы изменить форму имени пользователя! Добавив это к нему:widget = forms.TextInput(attrs={'placeholder': 'username'})
, Вот и все. Это все, что я хочу добавить в поле ввода имени пользователя. Но я не хочу изменять сам файл django forms.py, так как это часть вклада django, и я чувствую себя плохо, изменяя этот файл.
Что я делаю? Должен ли я создать форму, которая расширяет AuthenticationForm? Если да, то как мне это импортировать? И как мне передать это в качестве аргумента через мой urls.py? Я не знаю что делать
,'django.contrib.auth.views.login',{'template_name':'login.html'}),
Это стреляет это здесь:
@csrf_protect
@never_cache
def login(request, template_name='registration/login.html',
redirect_field_name=REDIRECT_FIELD_NAME,
authentication_form=AuthenticationForm):
Это представление использует модель форм AuthenticationForm:
class AuthenticationForm(forms.Form):
"""
Base class for authenticating users. Extend this to get a form that accepts
username/password logins.
"""
username = forms.CharField(label=_("Username"), max_length=30)
password = forms.CharField(label=_("Password"), widget=forms.PasswordInput)
Так...моя цель состоит в том, чтобы изменить форму имени пользователя! Добавив это к нему:widget = forms.TextInput(attrs={'placeholder': 'username'})
, Вот и все. Это все, что я хочу добавить в поле ввода имени пользователя. Но я не хочу изменять сам файл django forms.py, так как это часть вклада django, и я чувствую себя плохо, изменяя этот файл.
Что я делаю? Должен ли я создать форму, которая расширяет AuthenticationForm? Если да, то как мне это импортировать? И как мне передать это в качестве аргумента через мой urls.py? Я не знаю что делать