所以,現在我正在做基本的登錄。在urls.py,我去Django的contrib請登錄:如何擴展Django「登錄」表單?
(r'^login/?$','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 contrib的一部分,我感覺不好改變那個文件。
我該怎麼辦?我應該創建一個擴展AuthenticationForm的表單嗎?如果是這樣,我該如何導入?我如何通過我的urls.py將其作爲參數傳入?我不知道該怎麼辦。
感謝指向脆皮! – rikb 2017-03-14 17:56:52