Django 加载模型文件夹图像



我有一个类似于这样的用户模型:

def usr_img_path(instance, filename):
return 'Usr/{}/{}'.format(instance.name, filename)
class User(models.Model):
name = models.CharField(max_length = 20)
images_folder = models.ImageField(upload_to=usr_img_path)

因此,这会将图像上传到用户名文件夹。 问题是..我想在该文件夹中拥有 1 张以上的图像。 如何获取它们?

我在模板中尝试了这样的事情:

{% for user in users %}
{% for image in user.images_folder %}
<p>{{image.name}}</p>
{% endfor %}
{% endfor %}

但这没有用。我应该为文件夹和图像制作模型还是有更好的方法?

您可能想尝试为图像创建另一个模型,并为其提供外键。这样:

def usr_img_path(instance, filename):
return 'Usr/{}/{}'.format(instance.name, filename)
class User(models.Model):
name = models.CharField(max_length = 20)
class Image(models.Model):
user = models.ForeignKey(User, related_name="images")
img = models.ImageField(upload_to=usr_img_path)

然后模板代码将如下所示:

{% for user in users %}
{% for img in user.images.all %}
<img src="{{img.url}}" />
{% endfor %}
{% endfor %}