如何解决我的注册表不会将图像保存到我的 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 举报,一经查实,本站将立刻删除。