【发布时间】:2021-04-29 00:57:00
【问题描述】:
我正在使用 django-allauth 在 Django 中创建一个站点以进行身份验证。
我在 account.models 中创建了一个自定义用户类来添加一个自定义字段 UserExtraFiledSignup ,我添加了图像字段,以便用户可以在注册期间为他的帐户上传个人资料照片,但我遇到了问题
我遇到的问题是当用户创建帐户并上传照片时实际上它没有上传我不知道是什么错误
编辑
我的应用 |模型.py:
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
profile_photo = models.ImageField(default='', upload_to='images/')
def __str__(self):
return self.username
我的应用 |表格.py:
class CustomSignupForm(SignupForm):
def __init__(self, *args, **kwargs):
super(CustomSignupForm, self).__init__(*args, **kwargs)
self.fields['profile_img'] = forms.FileField(required = False)
def save(self, request):
user = super(CustomSignupForm, self).save(request)
user.profile_img = self.cleaned_data.get('profile_img')
user.save()
return user
我的应用 |设置.py:
ACCOUNT_FORMS = {
'signup': 'blog_app.forms.CustomSignupForm',
}
点击迁移时出错
ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'. HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'. auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User. user_permissions'. HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'. blog_app.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'. HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'. blog_app.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'U ser.user_permissions'. HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
是什么错误,请问如何解决?
【问题讨论】:
-
您是否在 formtag 中包含 enctype='multipart/form-data' ?看起来您将照片保存在用户对象中而不是 UserExtraSignup 对象中。
-
是的,我做到了,但是
It also looks like you are saving the photo in the user object and not in the UserExtraSignup object是什么意思 -
Profile_photo 在模型 UserExtraFiledSignup 而不是 User。您尝试将其保存到用户对象中:user.Profile_photo
-
@hendrikschneider 我试过 Yousuf M.N awnser 但我出错了
-
您是否尝试过我在下面提到的新错误解决方案?
标签: django django-models django-rest-framework django-allauth