【问题标题】:css not loaded in django productioncss 未在 django 生产中加载
【发布时间】: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',现在一切都很好。非常感谢我的朋友。

标签: css django static nginx pinax


【解决方案1】:

作为第一步,尝试直接在浏览器中加载样式表 URL(在 HTML 页面中打开“查看源代码”以获取完整 URL)。检查你得到了什么错误 - 它可能很有启发性。

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 2023-03-03
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多