【发布时间】:2015-06-29 01:35:50
【问题描述】:
在管理页面中,我将一些图像添加到模型 Product。在我的settings.py 文件中,我这样写:
MEDIA_ROOT = os.path.abspath('media')
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
('static', os.path.abspath('static')),
)
上传的图片放在文件夹media。我想显示这些图像,然后在模板中写入:<img src='{{ brand.product_image.url }}' alt=""/> 和在模板中写入{% load staticfiles %},但图像不显示。
那有什么问题呢?
还有一个问题:存储管理员上传的图像的更好方法是:在media 文件夹或static 文件夹中?
我可以将图像存储在我使用它们的应用文件夹中吗?
我的Brandmodel:
class Brand(models.Model):
name = models.CharField(max_length=100, unique=True)
description = models.CharField(max_length=1000)
product_image = models.ImageField()
def __unicode__(self):
return self.name
我的template 代码:
<div class="tab-pane active" id="blockView">
<ul class="thumbnails">
{% for brand in brands %}
<a href="{% url 'brand' brand_id=brand.id %}">
<li class="span3">
<div class="thumbnail">
<img src='{{ brand.product_image.url }}' alt=""/>
<div class="caption">
<h5>{{ brand.name }}</h5>
</div>
</div>
</li>
</a>
{% endfor %}
</ul>
<hr class="soft"/>
</div>
【问题讨论】:
-
模型看起来不错。可能是您的模板有误?当您在管理界面上传文件时,在 MEDIA_ROOT 文件夹中创建了新文件吗?
-
是的,在“media”文件夹中创建了新文件。我在我的问题中描述了我在模板中所做的一切。看起来不错
-
请发模板代码
-
嗯,看起来不错。您的模板在图像 src 中生成一些代码?你是通过 runserver 运行 django 吗?
-
是的,我正在通过 runserver 运行 django。模板生成:
标签: django django-templates django-staticfiles django-media