小编tot*_*ico的帖子

nginx 不提供管理静态文件?

澄清以下错误仅针对admin静态文件,即特定于Django admin对应的静态文件。其余的静态文件工作正常。

问题

基本上,我无法使用 ngix 服务器访问管理静态文件

它确实与 Django 的微型服务器一起工作,并且collectstatic正在完成它的工作,这意味着它将文件放在静态文件夹中的预期位置。

网址是正确的,但我无法直接访问管理静态文件,但其他人可以。因此,例如:

  1. 我可以访问这个网址(在浏览器中复制它): myserver.com:8080/static/css/base/base.css

  2. 但我无法访问这个其他 url(在浏览器中复制它): myserver.com:8080/static/admin/css/admin.css


我尝试了什么?

不工作,如果我复制admin/的目录结构为__other_admin_directory_name/__,然后我访问 myserver.com:8080/static/__other_admin_directory_name__/css/admin.css

而且,

  1. 我检查了权限,一切都很好。
  2. 我试图将 ADMIN_MEDIA_PREFIX = '/static/admin/' 更改为 ADMIN_MEDIA_PREFIX = '/static/ other_admin_directory_name /',它不起作用。

最后,这似乎是一个重要的线索:

我试图将admin/目录结构复制到__admin_and_then_any_suffix/__. 然后我无法访问 myserver.com:8080/static/__admin_and_then_any_suffix/__/css/admin.css. 因此,如果目录的名称以admin(例如管理或admin2)开头,则它不起作用


编辑 - 添加感谢@sarnold 观察:

问题似乎出在nginx配置文件/etc/nginx/sites-available/mysite

location /static/admin {
   alias /home/vl3/.virtualenvs/vl3/lib/python2.7/site-packages/django/contrib/admin/media/;
}
Run Code Online (Sandbox Code Playgroud)

nginx django

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

django ×1

nginx ×1