我有一个名为TemplateImages的模型类,它在我的媒体文件夹中保存对图像的引用。
我想在html文件的循环中显示这些图像。
以下是我的models.py代码:
class TemplateImages(models.Model):
image = models.ImageField(upload_to='template_images') # template_images/en/chronological/en-chronological-resume-1.png.
type = models.CharField(max_length=40) # e.g. chronological, functional, combination, coverletter
language_code = models.CharField(max_length=7, choices=languages.LANGUAGE_CHOICES, default='en') # en.
def __str__(self):
return '{}'.format(self.image)以下是我的views.py代码:
def templates(request):
...
language_pref = request.user.userprofile.language_preference
chronological_images = core_models.TemplateImages('chronological', 'en')
...
return render(request, 'templates/templates.html', {
...
'chronological_images': chronological_images,
...
})下面是我的数据库的屏幕截图:

在我的html页面上,我放置了以下django for循环,以在页面上显示25幅图像:
{% for c_image in chronological_images %}
{{c_image.image|file_url|safe}}"
{% endfor %}我收到以下错误消息:
'TemplateImage' object is not iterable我搜索过谷歌,但找不到任何有用的例子。
有人能解释我做错了什么吗?
发布于 2019-02-25 20:30:59
您只是构造了一个TemplateImages对象,而不是运行一个查询。试试这个:
chronological_images = TemplateImages.objects.filter(
type='chronological',
language_code='en',
)https://stackoverflow.com/questions/54874167
复制相似问题