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