0

这是我莫名其妙的问题:在我的 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( file ))

PINAX_THEME = "默认"

调试 = 假

MEDIA_URL = "/site_media/"

STATIC_ROOT = os.path.join(PROJECT_ROOT, "site_media", "static")

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 主机=127.0.0.1 端口=7718 pidfile=/www/foo/foocom.pid maxspare=2

urls.py 中没有关于静态文件的特定规则。我需要在这里添加一些东西吗?

我已经尝试了几十种不同的路径组合,但没有机会。真的很沮丧,很感激你的线索。

4

1 回答 1

1

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

于 2011-04-10T11:21:12.380 回答