django - Django imagefield 不显示在模板上
问题描述
我有一个带有 imageField 的模型,当我上传文件并在数据库中添加文件路径到 img 字段时,但是当我尝试在我的模板中调用它时,它似乎总是空 item.img 而其他字段运行良好,以显示它我使用列表视图模型
def content_file_name(instance, filename):
ext = filename.split('.')[-1]
# filename = "%s_%s.%s" % (instance, instance.questid.id, ext)
return f"uploads/items/{instance.id}.{ext}"
class Item(models.Model):
type = models.IntegerField(choices=TYPE, blank=False, default=NO_CAT)
name = models.CharField(max_length=250 )
description = models.CharField(max_length=250, blank=True )
img = models.ImageField(upload_to=content_file_name, blank=True)
tags = models.ManyToManyField(Tag, through='Item_Tags')
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING)
active = models.BooleanField(default=False)
created = models.DateTimeField(default=timezone.now)
updated = models.DateTimeField(auto_now=True)
def __str__(self): #metodo righiesto
return self.name
我的模板
<div class="card-columns">
{% for item in page_obj %}
<div class="card">
{% if item.img %}
<img class="card-img-top" src="{{item.image.url}}" alt="Card image cap">
{% else %}
NO image
{% endif %}
<div class="card-body">
<h5 class="card-title">{{item.name}}</h5>
<p class="card-text">{{item.description}}</p>
<p class="card-text"><small class="text-muted"></small></p>
</div>
</div>
{% endfor %}
</div>
解决方案
推荐阅读
- excel - vba excel datediff计算不同的结果
- typescript - 模拟类方法的 jest.fn() 的自动类型
- python - 如何根据 Pandas 数据框中的另一列值添加列?
- python - 我们必须为 fit_transform 方法使用什么公式?
- vue.js - 无法禁用跨度的点击事件
- ios - 使用 Firebase 更新数据模型
- sql - 如何在 SQL 脚本中使用新值更新 XML 元素
- git - Windows上的Git合并与重复文件
- mongodb - MongoDB:make $lookup 将其输出放在数组内的对象中
- angular - 模板中的 Angular 块脚本标签