0

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

4

1 回答 1

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) )
于 2012-04-22T09:44:53.600 回答