嘗試使用 PasswordChangeView 更改密碼,但無法正常作業。
網址.py
from django.contrib.auth import views as auth_views
urlpatterns = [
path('profiles/settings/', update_profile, name='update_profile'),
path('profiles/settings/', auth_views.PasswordChangeView.as_view(template_name='accounts/settings.html'),
name='password_change'),
]
我正在嘗試在我的 html 中正確輸入欄位
<div class="tab-pane fade" role="tabpanel" id="password">
<form id="id_password_change_form" method="POST" class="form-signin">{% csrf_token %}
<div class="form-group row align-items-center">
<label class="col-3">Current Password</label>
<div class="col">
<input
type="password"
placeholder="Enter your current password"
name="old_password"
class="form-control"
id="id_old_password"
required="true" />
</div>
</div>
<div class="form-group row align-items-center">
<label class="col-3">New Password</label>
<div class="col">
<input
type="password"
placeholder="Enter a new password"
name="new_password1"
class="form-control"
id="id_new_password1"
required="true" />
<small>Password must be at least 8 characters long</small>
</div>
</div>
<div class="form-group row align-items-center">
<label class="col-3">Confirm Password</label>
<div class="col">
<input
type="password"
placeholder="Confirm your new password"
name="new_password2"
class="form-control"
id="id_new_password2"
required="true" />
</div>
</div>
{% for field in form %}
{% for error in field.errors %}
<p style="color: red">{{ error }}</p>
{% endfor %}
{% endfor %}
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Change Password</button>
</div>
</form>
沒有錯誤,也沒有按預期更新密碼。根據 PasswordChangeView,我不需要更改任何內容。
uj5u.com熱心網友回復:
我認為由于 URL 定義錯誤,您遇到了問題,請看一下您urls.py:
from django.contrib.auth import views as auth_views
urlpatterns = [
path('profiles/settings/', update_profile, name='update_profile'),
path('profiles/settings/', auth_views.PasswordChangeView.as_view(template_name='accounts/settings.html'),
name='password_change'),
]
你總是點擊update_profileview 而不是PasswordChangeView. 我認為這是錯字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/412661.html
標籤:
上一篇:如何從JavaScriptajax呼叫發送本地存盤資料并從Django模板中的視圖列印回傳資料
下一篇:Django多對多|TypeError:禁止直接分配到多對多集合的前向端。改用course_tags.set()
