微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的注册表不会将图像保存到我的 S3 Bucket

如何解决我的注册表不会将图像保存到我的 S3 Bucket

我快疯了,不知道发生了什么。我创建了一个注册页面,除了图像之外的所有内容都保存了。但是,如果用户确实登录,即使图像没有保存。在配置文件模板中,他们可以上传它,它会保存得很好。我需要它保存在我的注册表中。我也知道这不是用户体验的想法,但需要这种方式,以便管理员可以设置用户。我知道我的 AWS S3 在我的 IAM 和我的 settings.py 文件中设置正确。下面是我的代码

查看

request.post

表格

def register(request):
# techs = Employee.objects.all()
# empFilter = EmployeeFilter(request.GET,queryset=techs)
# techs = empFilter.qs
# copyTech = techs[0]


if request.method == 'POST':
    user_form = UserRegisterForm(request.POST)

    if user_form.is_valid():
        user_form.save()
    
    user_id = User.objects.get(username=user_form.cleaned_data['username'])
    user_profile = Profile.objects.get(user=user_id)
    pdb.set_trace()
    profile_form = ProfileRegisterForm(request.POST,request.FILES,instance=user_profile)

    if profile_form.is_valid():
        profile_form.save()
        return redirect('clearview:login')
else:
    profile_form = ProfileRegisterForm()
    user_form = UserRegisterForm()

context = {
    'user_form': user_form,'profile_form': profile_form,}

return render(request,'users/register.html',context)enter code here

型号

class UserRegisterForm(UserCreationForm):
   email = forms.EmailField()

   class Meta:
      model = User
      fields = ['username','email','password1','password2']

class ProfileRegisterForm(forms.ModelForm):

    CROP_SETTINGS = {'size': (300,300),'crop': 'smart'}
    locationName = forms.ChoiceField(required=True,choices=OPTIONS)
    image = ThumbnailerImageField(upload_to='upload_image/',resize_source=CROP_SETTINGS,null=True,blank=True)

    class Meta:
       model = Profile
       fields = ['fullName','image','bio','position','locationName']

html 模板

CROP_SETTINGS = {'size': (300,'crop': 'smart'}

class Profile(models.Model):
   user = models.OnetoOneField(User,on_delete=models.CASCADE)
   image = ThumbnailerImageField(upload_to='upload_image/',blank=True)
   bio = models.TextField(blank=True,null=True)
   fullName = models.CharField(max_length=255,blank=True,null=True)
   position = models.CharField(max_length=255,null=True)
   locationName = models.CharField(max_length=255,null=True)


 @receiver(post_save,sender=User)
 def create_profile(sender,instance,created,**kwargs):
    if created:
        Profile.objects.create(user=instance)


 @receiver(post_save,sender=User)
 def save_profile(sender,**kwargs):
     instance.profile.save()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。