python - Django 1.4 静态文件问题并且不在我项目的其他 url 上呈现

标签 python django static-files django-staticfiles django-1.4

这是我的设置:

STATIC_ROOT = "/home/tony/Documents/mysite/mysite/"

STATIC_URL = '/static/'

STATICFILES_DIRS = (
"/home/tony/Documents/mysite/mysite/static/",
)

在这里我引用了我的样式表(这给了我一个错误):

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/reset.css" />
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/style.css" />

以及日志中的错误:

[06/Apr/2012 13:36:09] "GET /css/reset.css HTTP/1.1" 404 2193
[06/Apr/2012 13:36:09] "GET /css/style.css HTTP/1.1" 404 2193

我认为我是如何修复它的:

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}static/css/reset.css" />
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}static/css/style.css" />    

它一直有效,直到我做了另一个 View -:

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

def test(request):
    return render_to_response('test.html')

我在模板中添加了 {% extends 'base/base.html' %} 并且我在日志中得到了什么?这个:

[06/Apr/2012 13:46:55] "GET /test/ HTTP/1.1" 200 964
[06/Apr/2012 13:46:55] "GET /test/static/css/style.css HTTP/1.1" 404 2229
[06/Apr/2012 13:46:55] "GET /test/static/css/reset.css HTTP/1.1" 404 2229

注意/test/?它不加载 css。
知道为什么吗?(​​我从来没有遇到过 django1.3 的这个问题)

提前致谢:)

最佳答案

首先,以下内容不能解决您的问题,因为 STATIC_URL 应该包含 /static/,您不想自己在任何地方写它:

"{{ STATIC_URL }}static/css/reset.css"

现在,如果您的模板中有 {{ STATIC_URL }}/static/ 没有出现在模板中,那么我认为您错过了STATIC_URL 的模板上下文处理器。

'django.core.context_processors.static' 添加到您的 TEMPLATE_CONTEXT_PROCESSORS 设置中。例如,像这样:

TEMPLATE_CONTEXT_PROCESSORS = (
   'django.core.context_processors.static',
)

如果 TEMPLATE_CONTEXT_PROCESSORS 已经在您的设置文件中,那么您应该将它添加到已有的文件中。

另外,请注意 STATIC_URL 以斜杠结尾,因此您需要在此处删除 {{ STATIC_URL }} 之后的第一个斜杠:

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/reset.css" />

最后,您的 STATIC_ROOT 很可能不是您想要的。应该是:

"/home/tony/Documents/mysite/mysite/static/"

当您运行 collectstatic 命令时,这是放置静态文件的位置。参见 Managing static files在 Django 文档中。

关于python - Django 1.4 静态文件问题并且不在我项目的其他 url 上呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10042469/

相关文章:

python - PDFMINER工具pdf2txt抓取数据顺序

python - Django manytomany : adding multiple, 非唯一关系?

python - 无法编辑但可以在 Django 管理中添加新的内联

python - 我可以在 Django 中压缩 JavaScript 和 CSS 文件吗?

python - 如何制作 flask/gevent.socketio 服务器的 python windows 服务?

python - sqlalchemy.exc.ProgrammingError : (psycopg2. ProgrammingError) ":"处或附近的语法错误

python - 如何在条形图和框架之间留出间隙

Django - get_current_site(request) 只是抓取 example.com

html - Tornado :外部 css 文件中的 url