Django无法显示包含CSS,JS文件的页面

时间:2012-04-22 09:17:48

标签: django

我已经阅读了一些与静态文件相关的文档,但无法使其正常工作。 我在我的计算机上使用runserver进行测试。我的html位于以下目录:C:\ mytemplates \ polls \ t3.html。 t3.html使用放在my_static_files下的js和css文件。那么什么应该是Django静态设置,my_static_files应该放在哪里?

1 个答案:

答案 0 :(得分:1)

由于你没有明确指出,我将假设你的静态文件是C:\ my_static_files \

如果是这样,您的设置应如下所示:

STATIC_URL = '/static/'
STATIC_ROOT = 'C:\my_static_files\'

在模板中,您可以使用{{STATIC_URL}}加载静态文件:

<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/your_style.css" />
<script type = "text/javascript" src = "{{STATIC_URL}}/js/your_script.js"></script>

如果您已将子文件夹js和css命名为不同,请相应地更改链接。如果它仍然不起作用,请检查并重复检查前导和尾部斜杠。

正如您所提到的,使用{{STATIC_URL}}不会返回任何内容,我必须添加:要能够使用{{STATIC_URL}},您必须将RequestContext传递给模板。你可以通过传递一个像这样的context_instance(即。)来从视图返回响应时执行此操作:

from django.template import RequestContext
from django.shortcuts import render_to_response

def some_view(request):
    # your view code here

    return render_to_response(template_name,
                              context, 
                              context_instance=template.RequestContext(request) )