Python Django can';在/media/文件夹中看不到图像
如果我将图像放在Python Django can';在/media/文件夹中看不到图像,python,django,image,templates,Python,Django,Image,Templates,如果我将图像放在/media/文件夹中,它将无法工作。但如果我把它们放在“/static/”文件夹中,它就会工作 {% extends 'base.html' %} {% block contain %} <h1>New Report</h1> <form id="create" method="POST" action="" enctype="multipart/form-data">{% csrf_token %} {{
/media/
文件夹中,它将无法工作。但如果我把它们放在“/static/”文件夹中,它就会工作
{% extends 'base.html' %}
{% block contain %}
<h1>New Report</h1>
<form id="create" method="POST" action="" enctype="multipart/form-data">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Confirm">
</form>
{% for report in reports %}
<P> {{report.title}} </P> <br>
<img src="{{STATIC_URL}}<name of the image>" width='100px' height='100px'> =====> I can see the image
<img src="{{MEDIA_URL}} <name of the image>" width='100px' height='100px'> =====> I cant see the image
<img src="/static/<name of the image>" width='100px' height='100px'> =====> I cant see the image
<img src="/media/<name of the image>" width='100px' height='100px'> ====>>>> I cant see the image
{% endfor %}
{% endblock %}
{%extends'base.html%}
{%块包含%}
新报告
{%csrf_令牌%}
{{form.as_p}}
{%用于报告中的报告%}
{{report.title}
“width='100px'height='100px'>====>我可以看到图像
“width='100px'height='100px'>===>我看不见图像
“width='100px'height='100px'>===>我看不见图像
“width='100px'height='100px'>=====>>>>我看不见图像
{%endfor%}
{%endblock%}
将图像放入静态文件夹将起作用,因为静态文件夹中的文件将在网站上提供。这是一个潜在的解决方案,这似乎表明它对于某些图像是合理的。在我的网站上,媒体文件夹中的图像位于/uploads/
。这是MEDIA\u URL
设置的内容。然而,我从来没有明确地调用MEDIA\uurl
,因为我所有的图像都绑定到模型中,所以django为我处理这些。我的猜测是,再次检查您存储图像的文件夹的名称,并确保您看到的位置正确。其次,我要确保{{MEDIA\u URL}}
不在模板中 将图像放入静态文件夹将起作用,因为静态文件夹中的文件在站点上提供。这是一个潜在的解决方案,这似乎表明它对于某些图像是合理的。在我的网站上,媒体文件夹中的图像位于/uploads/
。这是MEDIA\u URL
设置的内容。然而,我从来没有明确地调用MEDIA\uurl
,因为我所有的图像都绑定到模型中,所以django为我处理这些。我的猜测是,再次检查您存储图像的文件夹的名称,并确保您看到的位置正确。其次,我要确保{{MEDIA\u URL}}
不在模板中 您确定django测试服务器(或apache/nginx)知道您的媒体文件夹吗
尝试将其添加到URL.py(如果您使用的是development server):
if settings.DEBUG:
urlpatterns+=模式(“”,
url(r'^media/(?P.*)$,'django.views.static.service'{
“document\u root”:settings.MEDIA\u root,
}),
)
您确定django测试服务器(或apache/nginx)知道您的媒体文件夹吗
尝试将其添加到URL.py(如果您使用的是development server):
if settings.DEBUG:
urlpatterns+=模式(“”,
url(r'^media/(?P.*)$,'django.views.static.service'{
“document\u root”:settings.MEDIA\u root,
}),
)
您是如何部署django应用程序的?您读过这篇文章吗?但我的图像不是一个静态文件。我的图像是来自我的报表模型的图像。当我把图像放在“媒体”文件夹中时,我看不到图像,但当我在“静态”文件夹中使用该图像时,我可以看到图像。真奇怪,这是一个静态文件。您的报表模型ImageField只是指向该文件的链接。看看我的答案。Django或您的Web服务器可能不知道您的媒体文件夹,如果它是来自您的报表模型的图像,请直接调用它,Django将为您填写链接。您如何部署Django应用程序?您阅读过此内容吗?但我的图像不是一个静态文件。我的图像是来自我的报表模型的图像。当我把图像放在“媒体”文件夹中时,我看不到图像,但当我在“静态”文件夹中使用该图像时,我可以看到图像。真奇怪,这是一个静态文件。您的报表模型ImageField只是指向该文件的链接。看看我的答案。Django或您的Web服务器可能不知道您的媒体文件夹,如果它是来自报表模型的图像,请直接调用它,Django将为您填写链接。@Cris Towi,那么,请接受答案!点击投票下的这张大支票score@Cris托维,那么,请接受答案!点击投票分数下面的大复选框
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
)