css 未在 django 生产中加载
Posted
技术标签:
【中文标题】css 未在 django 生产中加载【英文标题】:css not loaded in django production 【发布时间】:2011-08-02 10:24:00 【问题描述】:这是我莫名其妙的问题: 在我的 Pinax 开发机器上一切都很好,但是当我将文件移动到生产环境时,(使用 nginx webserver + Flup)没有加载样式表。
我跑了
python manage.py build_static
我的项目,转到服务器 foo.com,位于 /www/foo 中,并且我的所有静态文件都被复制
/www/foo/site_media/静态
这里是 sttings.py 中的相关部分
PINAX_ROOT = os.path.abspath(os.path.dirname(pinax.file)) PROJECT_ROOT = os.path.abspath(os.path.dirname(文件))
PINAX_THEME = "默认"
调试 = 假
MEDIA_URL = "/site_media/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, “site_media”、“静态”)
STATIC_URL = "/site_media/static/"
ADMIN_MEDIA_PREFIX = posixpath.join(STATIC_URL, "admin/")
在 nginx 的 foo.com 我有:
location /site_media autoindex on; root /www/foo/; location /static/ root /www/foo/site_media/static/;
每次我尝试不同的调整时,我都会重新启动 nginx 和 fcgi(希望如此):
python /www/foo/manage.py runfcgi host=127.0.0.1 port=7718 pidfile=/www/foo/foocom.pid maxspare=2
urls.py 中没有关于静态文件的具体规则。我需要在这里添加一些东西吗?
我已经尝试了几十种不同的路径组合,但没有机会。真的很沮丧,很感激你的线索。
【问题讨论】:
当您尝试直接在浏览器中加载样式表时会发生什么?你得到什么错误? Pekka,你是救生员!您的建议引发了解决问题的想法。实际上有一个权限问题给了我 403 错误。所以我做了'chown -R 777 /site_media',现在一切都很好。非常感谢我的朋友。 【参考方案1】:作为第一步,尝试直接在浏览器中加载样式表 URL(在 html 页面中打开“查看源代码”以获取完整 URL)。检查你得到了什么错误 - 它可能很有启发性。
【讨论】:
以上是关于css 未在 django 生产中加载的主要内容,如果未能解决你的问题,请参考以下文章
DJANGO:静态文件未在实时服务器中加载(但在本地加载)?