我有一个表格,用户可以在其中更新他们的个人资料。我希望用户从所有可用的个人资料图片(来自模型的个人资料图片库)的下拉列表中进行选择ProfilePictures
,他们希望作为他们的个人资料图片。目前,表单返回图像 URL 的字符串。如何使实际图像位于下拉列表中,以便用户在选择他们想要的图像之前可以看到所有图像?
模型.py
class ProfilePicture(models.Model):
image = models.ImageField(upload_to='profile_pics', blank=True)
def __str__(self):
return f'{self.image.url}'
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField(default=' Your Bio ', max_length=200)
pic = models.ForeignKey(ProfilePicture, on_delete=models.SET_DEFAULT, default='1')
def __str__(self):
return f'{self.user.username} Profile'
表格.py
class ProfileUpdateForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['bio','image','pic']
# widgets = {
# 'pic': ImageField(),
# }
当前下拉列表的图像