Django - 无法加载保存到数据库的图像

Django - cannot load image saved to database

正如标题所说,我无法加载我保存在数据库中的图像。

我正在将上传的图片保存在"TV/media/logo_image/" 这是我的 MEDIA_URL:

STATIC_URL = '/static/'

MEDIA_URL = '/media/'

MEDIA_ROOT= os.path.join(BASE_DIR, 'Tv/media')

我的模特:

class EmpresaProfile(models.Model):
    empresa = models.CharField(max_length=20, blank=False, default="")
    logo = models.ImageField(upload_to='logo_image', blank=True)

    def __str__(self):
        return self.empresa

这是我的 views.py:

def index(request):
    empresa = EmpresaProfile.objects.all()

    return render_to_response('Tv/index.html',{'empresa': empresa})

模板:

    <div style="height: 100px;">
    {% for empresa.logo in empresa %}
        <img class="img-responsive" src="{{MEDIA_URL}}{{ empresa.logo }}" alt="" width="1000px" />
    {% endfor %}
</div>

这是我访问的第一个页面,所以这是 mu url:

urlpatterns = [
url(r'^$', views.index, name='index'),]

我正在图像标签中获取来源 "unknown"

谢谢

您应该像这样更改模板中的 for 循环

<div style="height: 100px;">
    {% for emp in empresa %}
        <img class="img-responsive" src="{{MEDIA_URL}}{{ emp.logo }}" alt="" width="1000px" />
    {% endfor %}
</div>

对静态文件执行此操作的正确方法是使用

static() 

对于媒体,你应该这样做:

<img src="{{ product_image }}" alt="" />

并在该页面的视图函数中:

link_to_home_page = 'http://127.0.0.1:8000'

product_image   = link_to_home_page + one_new_product.main_picture.url

也不要忘记开发服务器,使用这个:

    if settings.DEBUG:
      urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
      urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT + os.path.altsep)