如何收集静态工作



我根本不了解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

最新更新