在Django开发中提供静态文件

时间:2012-05-29 20:30:52

标签: django

使用Django 1.4在开发中提供静态文件时遇到问题

STATIC_ROOT = 'C:/projects/foobar/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = ()

在我的模板中,我将此称为static,如下所示:

<link rel='stylesheet' href='/static/foobar.css'>

请注意,我没有使用任何上下文处理器,因为我正在编码static

基于the docs我看不出我做错了什么

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案:

STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = ('C:/projects/foobar/static',)

这样我只需从模板中引用/static/即可。奇怪的是STATIC_ROOT需要是emtpy而STATICFILES_DIRS是重要的,这是违反直觉的。

这不需要静态文件夹在应用程序内部,它可以只在项目的根目录中,它不需要更改urls.py也不需要使用collectstatic命令