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 生产中加载的主要内容,如果未能解决你的问题,请参考以下文章

Rails 4:资产未在生产中加载

DJANGO:静态文件未在实时服务器中加载(但在本地加载)?

Favicon 未在 Django 中加载

Ratyrate 星未在生产中加载(heroku)

Rails/Webpacker 未在生产中加载 Vue 样式

ckeditor gem custom config.js 未在生产中加载