无法在 html 页面上显示来自数据库的图像
Can't display images on html page from database
我只看到带有 /media/image.jpg 等 url 的图标。我认为问题在 urls.py,但我不知道如何解决。有人可以帮助我吗?
settings.py:
...
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
....
models.py:
....
class Image(models.Model):
product = models.OneToOneField(Product)
top_image = models.ImageField(upload_to='media/', verbose_name ="Главное изображение")
second_image = models.ImageField(blank = True, verbose_name = "Изображение 2")
third_image = models.ImageField(blank = True, verbose_name = "Изображение 3")
fourth_image = models.ImageField(blank = True, verbose_name = "Изображение 4")
fifth_image = models.ImageField(blank = True, verbose_name = "Изображение 5")
def __unicode__(self):
return u'%s' % self.product
class Meta():
db_table = "Image"
...
articles.html
...
{% for image in product_images %}
<div>
<img src="{{ image.top_image.url }}">
</div>
{% endfor %}
...
urls.py
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mypoject.views.home', name='home'),
url(r'^', 'article.views.articles'),
)
/media/image.jpg
是亲戚url。
要获得绝对 uri 你需要这样的东西 request.build_absolute_uri(obj.image.url)
您可以阅读更多信息here in the django docs
我认为您必须将此添加到您的 urls.py 文件中:
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
请注意,您只能将其用于开发人员:Django doc
我只看到带有 /media/image.jpg 等 url 的图标。我认为问题在 urls.py,但我不知道如何解决。有人可以帮助我吗?
settings.py:
...
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
....
models.py:
....
class Image(models.Model):
product = models.OneToOneField(Product)
top_image = models.ImageField(upload_to='media/', verbose_name ="Главное изображение")
second_image = models.ImageField(blank = True, verbose_name = "Изображение 2")
third_image = models.ImageField(blank = True, verbose_name = "Изображение 3")
fourth_image = models.ImageField(blank = True, verbose_name = "Изображение 4")
fifth_image = models.ImageField(blank = True, verbose_name = "Изображение 5")
def __unicode__(self):
return u'%s' % self.product
class Meta():
db_table = "Image"
...
articles.html
...
{% for image in product_images %}
<div>
<img src="{{ image.top_image.url }}">
</div>
{% endfor %}
...
urls.py
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mypoject.views.home', name='home'),
url(r'^', 'article.views.articles'),
)
/media/image.jpg
是亲戚url。
要获得绝对 uri 你需要这样的东西 request.build_absolute_uri(obj.image.url)
您可以阅读更多信息here in the django docs
我认为您必须将此添加到您的 urls.py 文件中:
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
请注意,您只能将其用于开发人员:Django doc