使用 Django 上传多张图片
Uploading multiple images with Django
我正在开发 Django 应用程序,但在上传图片所需的 models/forms/templates 方面遇到了一些问题。我有一个 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',)
但是我不知道如何正确地查看视图。我超级迷路,任何帮助将不胜感激!
对于此任务,您应该首先使用 inline formsets. Read this docs 来基本了解表单集。
您问题中的模型几乎有效。从 img
字段中删除 null=True, blank=True
参数 - 在没有图像本身的 Image
实例中没有任何意义。
我正在开发 Django 应用程序,但在上传图片所需的 models/forms/templates 方面遇到了一些问题。我有一个 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',)
但是我不知道如何正确地查看视图。我超级迷路,任何帮助将不胜感激!
对于此任务,您应该首先使用 inline formsets. Read this docs 来基本了解表单集。
您问题中的模型几乎有效。从 img
字段中删除 null=True, blank=True
参数 - 在没有图像本身的 Image
实例中没有任何意义。