0

我刚刚为一个非常基本的 django 网站配置了我的第一个 django 服务器。我正在使用带有主管和 gunicorn 的 Django 1.4 和 Nginx 1.0.14。

问题是 Nginx 没有像假设的那样提供静态文件,但我不知道为什么,因为这是我第一次使用它。

这是我的静态文件真正存在的路径:

/home/cristian/envs/santalupe.com/santalupe/santalupe/static

这是我在 nginx 配置文件中的设置:

# Django admin media.
location /media/ {
autoindex on;
    alias /home/cristian/envs/santalupe.com/lib/python2.7/site-packages/django/contrib/admin/static/;
}

# Site media
location /static/ {
autoindex on;
    alias /home/cristian/envs/santalupe.com/santalupe/santalupe/static/;
}

请让我知道在这种情况下我需要做什么,因为我不知道真正的问题。

4

3 回答 3

1

您不是从 Nginx 提供管理媒体,而是提供普通媒体。尝试类似:

location /admin/media/ {
    # this changes depending on your python version
    root /home/cristian/envs/santalupe.com/lib/python2.7/site-packages/django/contrib;
}

请注意如何没有尾部斜杠,并且路径以 contrib 结尾。我在生产中几乎完全成功地使用了这段代码。

于 2013-01-26T12:12:31.023 回答
1

也许服务器上的manage.py collectstatic对您有帮助?

于 2012-08-04T16:19:44.283 回答
0

这是正确解决方案的良好描述https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production

于 2013-09-18T21:26:34.527 回答