图像不会出现Django模板

时间:2014-07-07 01:58:07

标签: python html django image django-templates

我正在尝试将一些图片加载到模板中,但它仍然显示为断开的链接 我的文件和目录如下 1.views.py

def home(request):
    #template = loader.get_template("polls/home.html")
    return render_to_response('polls/home.html',
                              context_instance=RequestContext(request))

2.urls.py

urlpatterns = patterns('',
    #url(r'^applications/', include('polls.urls')),
    url(r'^admin/', include(admin.site.urls)),
    (r'^', include('polls.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

3.home.html

{% load staticfiles %}
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>psdtowebSimpleWebsiteTemplate.psd</title>
        <link href="{% static 'C:\Users\omars_000\Desktop\mytask\polls\templates\polls\styles.css' %}" rel="stylesheet" type="text/css">
    </head>
    <body>
        <div id="background">
            <div id="background"><img src="{{MEDIA_URL}}/Capture.png"></div>
 </body>
 </html>

4.settings.py

MEDIA_ROOT = os.path.join( PROJECT_DIR, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(PROJECT_DIR, "static"),
    '/var/www/static/',
)

知道它为什么不起作用?我已经检查了很多问题但到目前为止没有任何帮助。

2 个答案:

答案 0 :(得分:0)

您的MEDIA_URL已经有一个尾随斜杠。你在<img src="{{MEDIA_URL}}/Capture.png">添加了另一个浏览器,大多数浏览器都不关心,但也许是你的。

答案 1 :(得分:0)

知道了。 在home.html我修复如下:

<div id="background"><img src="{% static "C:\Users\omars_000\Desktop\mytask\mytask\media\images\background.png" %}""></div>

并在settings.py中添加了我将在模板中使用的图像的位置,如下所示:

STATICFILES_DIRS = (
    'C:\Users\omars_000\Desktop\mytask\mytask\media\images',
    'C:\Users\omars_000\Desktop\mytask\mytask\media',
)