我有一个Django项目,我在这个项目中创建了一个“post”操作,以便用户能够分享多张图片的帖子。但是我遇到了一个问题。我无法编写多张图片上传功能。我查看了很多内容,但都没有起作用。要么它会报告问题,要么上下文未发送到我想要的HTML页面。请帮帮我。我想要的多张图片功能应该在
models.py:
CreateView
下,并应放置在同一模板中。此外,应该有4个图像上传按钮,最后一个按钮应分配多个特性(给HTML标记)。models.py:
class Photo(models.Model):
post= models.ForeignKey(Person, on_delete=models.CASCADE)
image = models.ImageField(upload_to=get_image_filename)
uploaded_at = models.DateTimeField(auto_now_add=True)
views.py:
class PersonCreateView(CreateView):
model = Person
form_class = PersonForm
success_url = reverse_lazy('person_changelist')
forms.py:
class PhotoForm(forms.ModelForm):
image = forms.ImageField(label='Image')
class Meta:
model = Photo
fields = ('image', )
class PersonForm(forms.ModelForm):
title = forms.CharField(max_length=128)
body = forms.CharField(max_length=245, label="Item Description.")
file_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
class Meta:
model = Person
widgets = {
'valyuta': forms.RadioSelect,
'barter': forms.CheckboxInput,
}
fields = ('country', 'city', 'ban', 'yurus', 'reng', 'qiymet', 'valyuta', 'yanacaqnovu', 'oturucu', 'squtu', 'buraxilisili', 'hecm', 'seher', 'barter', 'metin')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['city'].queryset = City.objects.none()
if 'country' in self.data:
try:
country_id = int(self.data.get('country'))
self.fields['city'].queryset = City.objects.filter(country_id=country_id).order_by('name')
except (ValueError, TypeError):
pass # invalid input from the client; ignore and fallback to empty City queryset
elif self.instance.pk:
self.fields['city'].queryset = self.instance.country.city_set.order_by('name')