【发布时间】:2021-07-07 00:21:52
【问题描述】:
如何自定义 Django 更改密码表单的外观,我试过了,但没有任何反应,我不知道为什么,有什么想法吗?
forms.py:
from django.contrib.auth.forms import PasswordChangeForm
class MyPasswordChangeForm(PasswordChangeForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["old_password"].widget = forms.PasswordInput(attrs={"class": "form-control"})
self.fields["new_password1"].widget = forms.PasswordInput(attrs={"class": "form-control"})
self.fields["new_password2"].widget = forms.PasswordInput(attrs={"class": "form-control"})
urls.py:
# Change Password
path(
'change-password/',
auth_views.PasswordChangeView.as_view(
template_name='user/commons/change-password.html',
success_url = '/'
),
name='change_password'
),
views.py:
from django.contrib.auth.views import PasswordChangeView
from blog_app.forms import MyPasswordChangeForm
class PasswordChangeView(PasswordChangeView):
form_class = MyPasswordChangeForm
template_name = "user/commons/change-password.html"
change_password.html:
<div class="form-group">
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<a href="{% url 'home' %}">Back</a>
<button type="submit">Submit</button>
</form>
</div>
【问题讨论】:
标签: django django-rest-framework django-views django-forms django-templates