我在这里遇到一个小问题。 我想在制作中上传一张产品的照片,并希望在主页上显示这张照片。
以下是Product
中的models.py
课程:
class Produto(models.Model):
nome = models.CharField(max_length=255, null=False)
foto = models.ImageField(upload_to='mywebsite/staticfiles/static')
def __unicode__(self):
return "%s" % (self.nome)
在我的settings.py
中,我设置了以下变量:
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'
# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
在我的htm页面中:
{% for produto in produtos %}
<li>
<div class="col-md-3 biseller-column">
<a href="single.html">
<img src="{{produto.foto.url}}"/>
</a>
<div class="ad-info">
<h5>{{produto.nome}}</h5>
</div>
</div>
</li>
{% endfor %}
</ul>
所以,我上传了,当我通过网络浏览器上传时,照片出现在staticfiles / static上,但不在网站上。在网页中出现以下内容:
有人可以帮助我吗?
非常感谢你。
答案 0 :(得分:1)
看起来您尚未设置媒体根目录或添加了网址配置,因此无法提供服务。您可以在the documentation
查看如何设置这些内容答案 1 :(得分:1)
问题出在您的模板中。
请尝试使用{{ produto.foto.image.url }}
代替{{ produto.foto.url }}
来访问图片文件网址。