我根本不了解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
似乎collectstatic复制得太好了。
我认为您只需要使用{% static "base.css" %}
模板标签,而不需要尝试访问STATIC_URL
变量
我认为STATIC_URL
在模板范围内不可用。
你可以通过类似的方式访问它
from django.conf import settings
settings.STATIC_URL
但{% static %}
标签为您做到了这一点。django的版本似乎很重要。1.5看起来它使用了{% static %}
标记,但早期版本在注册了RequestContext
后似乎支持STATIC_URL
。