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



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

我正在将上传的图像保存在"电视/媒体/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'),]

我在图像标签中收到"未知"的来源

谢谢

你应该像这样在模板中更改你的 forloop

<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)

相关内容

  • 没有找到相关文章

最新更新