Django 无法显示具有单独 CSS、JS 文件的页面



我已经阅读了一些与静态文件相关的文档,但无法使其工作。我正在使用计算机上的运行服务器进行测试。我的html在这个目录中:C:\mytemplates\polls\t3.html。T3.html 使用放在my_static_files下的 JS 和 CSS 文件。那么 Django 静态设置应该是什么,my_static_files应该放在哪里呢?

由于您没有确切指定,因此我将假设您的静态文件是 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) )

最新更新