部署Django应用时的静态文件问题

时间:2019-01-15 14:01:04

标签: python django django-templates web-deployment

我了解在生产环境中加载静态文件存在一些问题/答案。

但是,我的情况有所不同。我的Django应用未部署为网站的主应用(不在服务器的public_html文件夹中),而是其他应用(在public_html外部的文件夹中)部署。服务器文件夹目录是这样的

home/myaccount/
├── public_html
|      └── static (not exist, location 1)
├── mydjango
       └── static (generated by collectstatic, location 2)
            └── css, fonts etc.

在我的settings.py中,STATIC_ROOT = os.path.join(BASE_DIR, 'static/')STATIC_URL = '/static/'

当前,浏览器将在不存在的位置1(即www.mypage.com/static/...,而不是位置2中查找静态文件。

我的问题是,如何更改STATIC_ROOTSTATIC_URL或其他设置,以使浏览器查找位置2而不是位置1?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Linux服务器,那么一个更简单的解决方案是在位置1中创建位置2静态文件夹的符号链接

ln -s /home/myaccount/mydjango/static /home/myaccount/public_html/static

另一种解决方案是创建STATIC_ROOT路径以指向public_html文件夹。