【问题标题】:Add Profile picture to Django Custom User model(AbstractUser)将个人资料图片添加到 Django 自定义用户模型(AbstractUser)
【发布时间】:2021-09-30 14:27:32
【问题描述】:

我使用自定义用户模型用电子邮件 ID 覆盖用户名。现在我想添加一个额外的字段来描述图片。我尝试使用 OnetoOne 关系扩展 models.py 中的模型。它可以工作,但是当我传递表单来更新和创建视图(基于类的视图)来更新和创建时。

有没有办法在不创建具有 OnetoOne 关系的模型的情况下添加个人资料图片字段?

解决方案:

我在表单标签中缺少 enctype="multipart/form-data"

【问题讨论】:

    标签: django django-models django-rest-framework django-forms django-users


    【解决方案1】:

    我认为这会对你有所帮助,检查我的 github 代码...我在用户模型中使用图像字段。

    https://github.com/shotttik/carwashProject/blob/master/user/models.py

    #models.py

     class UserManager(BaseUserManager):
            ....
            def create_superuser(self, email=None, password=None, **extra_fields):
                extra_fields.setdefault('image', "default/image/path")
            ...
    
    
        class User(AbstractUser):
            ....
            image = models.ImageField(upload_to='images/')
    

    然后您可以将图像字段添加到 forms.py 中

    【讨论】:

    • 谢谢shotiko,我确实添加了一些行,以您的代码作为参考。但是当我在注册时上传新图像时,它不会被保存。始终使用默认图像。即使我使用更新视图,上传的图像也不会反映。有什么解决办法吗?我已经更新了我的代码,请检查
    • 嗨,抱歉回复晚了。我认为你在views.py里面有问题你能告诉我代码吗?泰
    • 请检查,我已经更新了我对问题的看法
    • 嘿,也许我找到了解决方案。在基于类的视图中,您应该这样编写 - form_class= ProfileForm(rrequest.POST, request.FILES) 。请检查并回复...
    • 谢谢Shotiko,问题出在表单标签上。我错过了 enctype="multipart/form-data"。感谢您的宝贵时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多