Django加载模型文件夹图像

时间:2017-07-25 03:47:48

标签: 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)

这样就可以将图像上传到用户的名字文件夹中。 问题是..我想在该文件夹中拥有多个图像.. 我该如何获取它们?

我在模板中尝试了类似的东西:

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

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

1 个答案:

答案 0 :(得分:2)

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

inner join

然后模板代码如下:

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)