Opened 5 years ago
Closed 5 years ago
#31972 closed New feature (wontfix)
AuthenticationForm.UsernameField does not change field widget according to USERNAME_FIELD.
| Reported by: | Maksudul Haque | Owned by: | Maksudul Haque |
|---|---|---|---|
| Component: | contrib.auth | Version: | 3.1 |
| Severity: | Normal | Keywords: | forms, AuthenticationForm |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
First of all,
Thank you for such an amazing Framework. You guys are doing amazing work on Django. really appreciate it. :)
Today I was using AuthenticationForm to log users in but I use a custom User model and it specifies USERNAME_FIELD as email.
So, when I rendered the form ({{ form }}) I saw this:
<input type="text" name="username" autofocus="" autocapitalize="none" autocomplete="off" maxlength="254" required="" id="id_username">
It was using text type input field Though It should render email type field.
I don't know if it is a bug or it was intentional.
If it is a bug I would like to submit a PR! :)
Change History (2)
comment:1 by , 5 years ago
| Owner: | changed from to |
|---|
comment:2 by , 5 years ago
| Component: | Forms → contrib.auth |
|---|---|
| Resolution: | → wontfix |
| Status: | assigned → closed |
| Summary: | Django AuthenticationForm.UsernameField does not change field widget according to UserModel.USERNAME_FIELD → AuthenticationForm.UsernameField does not change field widget according to USERNAME_FIELD. |
| Type: | Bug → New feature |
Note:
See TracTickets
for help on using tickets.
Yes it's intentional, this isn't worth the extra complexity. The built-in auth forms make several assumptions about the user model. You need to create a subclass of
AuthenticationFormif you want to use a different widget.