Django 1.6:编辑配置文件:列用户名不是唯一的

詹姆斯·L

我正在尝试创建编辑用户个人资料功能。但是我收到以下错误。我觉得它正在尝试创建一个新用户,而不是编辑现有用户。因此,这可能导致用户名不唯一。我不知道要在这里更改/添加什么。

这是我的看法

def showProfile(request, id):
    profile = DoctorSeeker.objects.get(id=id)
    return render(request,'meddy1/seekerprofile.html',{'doctorSeeker': profile})

def update_profile(request):
    args = {}

    if request.method == 'POST':
        form = UserUpdateForm(request.POST)
        if form.is_valid():
            form.save()
            return render(request, showProfile())

    else:
        form = UserUpdateForm()

    args['form'] = form
    return render(request, 'meddy1/editseekerprofile.html', args)

这是我的表格

class UserUpdateForm(forms.ModelForm):
    name = forms.CharField(max_length=200, widget=forms.TextInput(attrs={'class': 'form-control','placeholder':'FirstName LastName'}))
    email = forms.EmailField(required=True, widget=forms.TextInput(attrs={'class': 'form-control','placeholder':'Please enter a valid email address so we can reach you. No spam. Ever.'}))

    password1 = forms.CharField(label="Old Password",widget=forms.PasswordInput(attrs={'class': 'form-control','placeholder':'Enter your password to save the changes.'}),required=False)
    password2 = forms.CharField(label="New Password?",widget=forms.PasswordInput(attrs={'class': 'form-control','placeholder':'Only enter new password if you want to change it.'}),required=False)
    password3 = forms.CharField(label="Confirm New Password",widget=forms.PasswordInput(attrs={'class': 'form-control','placeholder':'Confirm New Password'}),required=False)



    class Meta:
        model = DoctorSeeker
        fields = ("name","email")

    class Meta:
        model = User
        fields = ("password2", "password3")

    def clean_password2(self):
        password2 = self.cleaned_data.get("password2")
        password3 = self.cleaned_data.get("password3")
        if password2 and password3 and password2 != password3:
            raise forms.ValidationError(
                self.error_messages['password_mismatch'],
                code='password_mismatch',
            )
        return password2

    def save(self, commit=True):
        user = super(UserUpdateForm, self).save(commit=False)
        user.set_password(self.cleaned_data["password2"])
        fullName = self.cleaned_data["name"]
        Email = self.cleaned_data["email"]

    if commit:
        user.save()
        userProfile = DoctorSeeker(user=user, name=fullName, email=Email)
        userProfile.save()

    return user
自由职业者

django表单的save方法将创建一个新对象(如果不提供任何实例),而不是对此对象的更新。您必须先使用户放松,然后再通过表单传递实例,然后将其保存。

有关更多信息,请参见:https : //docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为Django创建唯一的随机用户名?

来自分类Dev

如何为Django创建唯一的随机用户名?

来自分类Dev

我可以在 django 中有两个编辑配置文件表单吗?一个是主要的编辑配置文件表单,而 1 个仅用于 2 个字段

来自分类Dev

Django - 用户配置文件:唯一约束失败:main_userprofile.user_id

来自分类Dev

注册成功后Django编辑用户配置文件

来自分类Dev

使用 Django 表单编辑用户配置文件

来自分类Dev

Django-允许用户编辑配置文件,然后显示更新的配置文件字段

来自分类Dev

PHP文件返回1,而不是另一个PHP文件中的登录用户名

来自分类Dev

Django 1.6使用现有用户编辑用户配置文件模型

来自分类Dev

Django更新配置文件视图-仅允许登录用户编辑自己的帐户

来自分类Dev

Django:扩展用户模型与创建用户配置文件模型

来自分类Dev

Django Rest Framework创建用户和用户配置文件

来自分类Dev

当试图编辑新的配置文件在Django创建

来自分类Dev

Django编辑配置文件-'bool'对象不可调用

来自分类Dev

Django 1.6-编辑配置文件-AttributeError位于/ editseekerprofile /

来自分类Dev

Symfony2:FOSUserBundle删除配置文件中的“编辑用户名”表单字段

来自分类Dev

在URL中显示用户名-Django

来自分类Dev

Django DeleteUser的URL中的用户名

来自分类Dev

迎合加号Django中的用户名

来自分类Dev

在URL中显示用户名-Django

来自分类Dev

django JWT询问用户名/密码

来自分类Dev

Django-REST:通过用户名而不是主键来获取用户

来自分类Dev

将用户表单和配置文件保存在一个Django CBV中

来自分类Dev

Django自定义用户模型与配置文件模型

来自分类Dev

Django rest框架扩展的用户配置文件

来自分类Dev

Django 在提交注册时创建用户配置文件

来自分类Dev

在 Django 中使用 DetailView 查看用户配置文件

来自分类Dev

django-allauth的django用户名限制列表

来自分类Dev

django-allauth的django用户名限制列表

Related 相关文章

  1. 1

    如何为Django创建唯一的随机用户名?

  2. 2

    如何为Django创建唯一的随机用户名?

  3. 3

    我可以在 django 中有两个编辑配置文件表单吗?一个是主要的编辑配置文件表单,而 1 个仅用于 2 个字段

  4. 4

    Django - 用户配置文件:唯一约束失败:main_userprofile.user_id

  5. 5

    注册成功后Django编辑用户配置文件

  6. 6

    使用 Django 表单编辑用户配置文件

  7. 7

    Django-允许用户编辑配置文件,然后显示更新的配置文件字段

  8. 8

    PHP文件返回1,而不是另一个PHP文件中的登录用户名

  9. 9

    Django 1.6使用现有用户编辑用户配置文件模型

  10. 10

    Django更新配置文件视图-仅允许登录用户编辑自己的帐户

  11. 11

    Django:扩展用户模型与创建用户配置文件模型

  12. 12

    Django Rest Framework创建用户和用户配置文件

  13. 13

    当试图编辑新的配置文件在Django创建

  14. 14

    Django编辑配置文件-'bool'对象不可调用

  15. 15

    Django 1.6-编辑配置文件-AttributeError位于/ editseekerprofile /

  16. 16

    Symfony2:FOSUserBundle删除配置文件中的“编辑用户名”表单字段

  17. 17

    在URL中显示用户名-Django

  18. 18

    Django DeleteUser的URL中的用户名

  19. 19

    迎合加号Django中的用户名

  20. 20

    在URL中显示用户名-Django

  21. 21

    django JWT询问用户名/密码

  22. 22

    Django-REST:通过用户名而不是主键来获取用户

  23. 23

    将用户表单和配置文件保存在一个Django CBV中

  24. 24

    Django自定义用户模型与配置文件模型

  25. 25

    Django rest框架扩展的用户配置文件

  26. 26

    Django 在提交注册时创建用户配置文件

  27. 27

    在 Django 中使用 DetailView 查看用户配置文件

  28. 28

    django-allauth的django用户名限制列表

  29. 29

    django-allauth的django用户名限制列表

热门标签

归档