我了解在生产环境中加载静态文件存在一些问题/答案。
但是,我的情况有所不同。我的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_ROOT
和STATIC_URL
或其他设置,以使浏览器查找位置2而不是位置1?
答案 0 :(得分:1)
如果您使用的是Linux服务器,那么一个更简单的解决方案是在位置1中创建位置2静态文件夹的符号链接。
ln -s /home/myaccount/mydjango/static /home/myaccount/public_html/static
另一种解决方案是创建STATIC_ROOT路径以指向public_html文件夹。