django的settings中几个static设置项的关系

原创
2013/01/18 16:19
阅读数 5.3K
django的settings中包含三个static相关设置项:
STATIC_ROOT
STATIC_URL

STATICFILES_DIRS

STATIC_URL 好理解,就是映射到静态文件的url,一般为/static/
STATICFILES_DIRS 是个列表,放各个app的static目录及公共的static目录

STATIC_ROOT 是总的static目录,可以使用命令自动收集static文件

假设有个工程djangodemo,有两个app为demo1跟demo2

django处理static的方法是把各个app各自的static合并到一处

比如
djangodemo/djangodemo/static 放置公共静态文件
djangodemo/demo1/static 放置该app自己的静态文件
djangodemo/demo2/static 放置该app自己的静态文件
可以这么设置:
STATIC_ROOT = '/www/djangodemo/djangodemo/static '

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    'djangodemo/static',
    'demo1/static/',
    'demo2/static/',
)
使用命令
manage.py collectstatic
就会自动把所有静态文件全部复制到STATIC_ROOT中
如果开启了admin,这一步是很必要的,不然部署到生产环境的时候会找不到样式文件
展开阅读全文
打赏
3
2 收藏
分享
加载中
你映射的位子上有collectstatic 吗?
2013/02/25 15:57
回复
举报
为什么我执行python manage.py collectstatic 会报错 Unknown command: 'collectstatic'
2013/01/31 21:04
回复
举报
更多评论
打赏
2 评论
2 收藏
3
分享
返回顶部
顶部