使用管理员上传的图片
Using admin uploaded images
在管理页面中,我向模型添加了一些图像 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
文件夹中的更好方法是什么?
我可以将图像存储在我使用它们的应用程序文件夹中吗?
我的Brand
型号:
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>
静态文件和媒体文件有不同的用途。对于上传的文件,您应该使用媒体文件。
静态文件是静态模板中包含的图像、JavaScript 或 CSS 文件。因此,如果默认情况下某些图像是模板的一部分,它们将存储在 static
文件夹中。
关于未显示图片:
请提供更多信息。 Post 你的模特。
更新 - 在开发服务器上提供媒体和静态服务。
更新您的 urls.py
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns(
'',
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT, show_indexes=True) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT, show_indexes=True)
在管理页面中,我向模型添加了一些图像 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
文件夹中的更好方法是什么?
我可以将图像存储在我使用它们的应用程序文件夹中吗?
我的Brand
型号:
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>
静态文件和媒体文件有不同的用途。对于上传的文件,您应该使用媒体文件。
静态文件是静态模板中包含的图像、JavaScript 或 CSS 文件。因此,如果默认情况下某些图像是模板的一部分,它们将存储在 static
文件夹中。
关于未显示图片: 请提供更多信息。 Post 你的模特。
更新 - 在开发服务器上提供媒体和静态服务。
更新您的 urls.py
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns(
'',
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT, show_indexes=True) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT, show_indexes=True)