姜戈管理员.编辑用户并保持密码不变



我有我的自定义用户模型:

class RemoteUser(AbstractUser):
    class Meta:
        verbose_name= 'MyUser'
        verbose_name_plural = 'MyUsers'
    # Custom fields here...

如何设置我的用户管理员表单以编辑隐藏密码的用户详细信息?

class RemoteUserForm(UserCreationForm):
    # What do I put here?

即使我从字段中排除password,它也一直给我KeyError 'password1'

使用ModelForm,使用它非常简单。您可以在可以指定要编辑的字段中创建用于编辑用户对象的表单类。在视图中使用此表单保存输入数据,并使用模板中的上下文完成循环。

Forms.py 从 django.contrib.auth.models import User

class EditUserForm(forms.ModelForm):
class Meta:
    model = User
    fields = {'username'}

Views.py

def update_userprofile(request, pk):
    user = User.objects.get(pk=pk)
    user_form = EditUserForm(instance=user)
    if request.user.id == user.id:
        if request.method == "POST":
            user_form = EditUserForm(request.POST, instance=user)
            if user_form.is_valid():
                created_user = user_form.save(commit=False)
                return redirect('someview') #wherever you want
        return render(request, "app_name/update_userprofile.html", {
            "noodle": pk,
            "noodle_form": user_form,}
    else:
        raise PermissionDenied

Update_userprofile.html

<form method="post">
    {% csrf_token %} {{ noodle_form.as_p }}
    <button type="submit">Submit</button>
</form>

最新更新