我正在使用Django应用程序,并且在上传图像所需的模型/表单/模板方面遇到了一些问题。我有一个post
,我希望与post
和图像建立一对多的关系。即,post
可以有任意数量的图像。我的第一个问题是 - 模型会是什么样子?我猜的是:
class Image(models.Model):
img = models.ImageField(upload_to="photos/",null=True, blank=True)
posting = models.ForeignKey(Posting, related_name="images")
class Posting(models.Model):
...
这是对的吗?我的另一个问题是我应该如何上传多张图片?我无法弄清楚表格应该是什么样子。如果我想设置最大数量的图像,我可以像:
class ImageForm(forms.ModelForm):
img1 = forms.ImageField()
img2 = forms.ImageField()
class Meta:
model = Image
fields = ('img1','img2',)
但是我不知道如何正确地查看视图。我很失落,任何帮助都会非常感激!
答案 0 :(得分:2)
对于此任务,您应该使用inline formsets。首先阅读this docs以了解对表单集的基本了解。
您问题中的模型几乎有效。从null=True, blank=True
字段中删除img
个参数 - 没有图像本身的Image
个实例没有任何意义。