2

我从根本上不了解 manage.py collectstatic 是如何工作的。我的想法是你有路

project/app/static/app/base.css 

并运行 collectstatic 并将它们复制到 /staticfiles/ 文件夹中,然后 {{STATIC_URL}} 可以访问该文件夹。我试过这个,它似乎没有找到base.css。

以下是我的变量供参考:

basepath = os.path.split(os.path.abspath(__file__))[0]    
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(basepath, 'staticfiles')
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}base.css" />

尝试获取样式表时,所有这些都会导致 404 错误:

"GET /base.css HTTP/1.1" 404 2255
4

1 回答 1

2

似乎 collectstatic 正在复制它。

我认为您只需要使用{% static "base.css" %}模板标签而不是尝试访问STATIC_URL变量

我认为STATIC_URL在模板范围内不可用。

你可以访问它做类似的事情

from django.conf import settings

settings.STATIC_URL

但是{% static %}标签会为您执行此操作。django 的版本好像很重要 1.5好像用了这个{% static %}标签,但是早期的版本好像注册了就支持STATIC_URLRequestContext

于 2013-08-02T16:19:26.210 回答