在生产环境中部署Django的静态文件。
今天遇到了在生产环境(Apache)中部署Django静态文件的问题。平常用./manage.py runserver
习惯了。静态文件分布的到处都是,当我要把它们挪到Apache上时,我发现了一个问题:
static目录只能设一个
然后去看了看文档,果然Django的作者已经考虑到了这个问题。(既然是他们推荐的static文件分开放,自然就要给出解决方案才对啊。)
所以其实很容易:
在settings.py中加入
STATIC_ROOT = '/var/www/static'
其中/var/www/static是存放静态文件的目录,/var/www是Apache的Document root,同时在settings.py里配置STATIC_URL = '/static/'
。
注意要保证这个目录为空,因为接下来的操作会覆盖这个目录下的所有内容。
然后运行
python manage.py collectstatic
即可。