【发布时间】:2018-04-25 16:13:23
【问题描述】:
我正在尝试创建一个允许用户更改密码的表单。
每次修改密码都无法登录。 例如如果密码是“jake”,我改成“jake1”,我不能用密码“jake1”甚至“jake”登录
表单如下所示: https://imgur.com/a/MdPs0
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/views.py
@login_required(login_url='/employee/sign-in/')
def employee_account(request):
employee_form = EmployeeFormEdit(instance = request.user)
if request.method == "POST":
employee_form = EmployeeFormEdit(request.POST, instance = request.user)
if employee_form.is_valid():
employee_form.save()
return render(request, 'employee/account.html', {
"employee_form":employee_form
})
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/forms.py
class EmployeeFormEdit(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ("password",)
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/templates/employee/account.html
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{% bootstrap_form employee_form %}
<button type="submit" class="btn btn-pink">Update</button>
</form>
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/models.py 它只是使用标准的用户模型
class Employee(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
【问题讨论】:
标签: python django forms view passwords