Vì vậy, ngay bây giờ tôi đang thực hiện đăng nhập cơ bản. Trong urls.py, tôi đi đến django contrib đăng nhập:Làm cách nào để mở rộng biểu mẫu "đăng nhập" Django?
(r'^login/?$','django.contrib.auth.views.login',{'template_name':'login.html'}),
Đó bắn nó ở đây:
@csrf_protect
@never_cache
def login(request, template_name='registration/login.html',
redirect_field_name=REDIRECT_FIELD_NAME,
authentication_form=AuthenticationForm):
Quan điểm này sử dụng mô hình hình thức 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)
Vì vậy .. Mục tiêu của tôi là thay đổi mẫu tên người dùng! Bằng cách thêm nó vào: widget = forms.TextInput(attrs={'placeholder': 'username'})
. Đó là nó. Đó là tất cả những gì tôi muốn thêm vào hộp nhập tên người dùng. Nhưng, tôi không muốn thay đổi tập tin django forms.py thực tế, vì đó là một phần của django contrib và tôi cảm thấy xấu khi thay đổi tập tin đó.
Tôi phải làm gì? Tôi có nên tạo một biểu mẫu mở rộng AuthenticationForm không? Nếu vậy, làm cách nào để nhập? Và làm thế nào để vượt qua điều đó như một đối số thông qua urls.py của tôi? Tôi không biết phải làm gì.
Cảm ơn con trỏ đến giòn! – rikb