加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

django – nginx不提供管理静态文件?

发布时间:2020-12-13 21:19:39 所属栏目:Nginx 来源:网络整理
导读:澄清:以下错误仅适用于管理静态文件,即它特定于与Django管理员对应的静态文件.其余的静态文件完美运行. 问题 基本上,我无法使用ngix服务器访问管理静态文件. 它确实与Django的微服务器一起工作,并且collectstatic正在完成它的工作,这意味着它将文件放在静态

澄清:以下错误仅适用于管理静态文件,即它特定于与Django管理员对应的静态文件.其余的静态文件完美运行.

问题

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

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

网址是正确的,但我不能直接访问管理静态文件,但我可以访问其他人.所以,例如:

>我可以访问此URL(在浏览器中复制它):
myserver.com:8080/static/css/base/base.css
>但我无法访问此其他网址(在浏览器中复制):
myserver.com:8080/static/admin/css/admin.css

我试过了什么?

如果我将admin /目录结构复制到__other_admin_directory_name / __,然后我访问它确实有效
myserver.com:8080/static/__other_admin_directory_name__/css/admin.css

此外,

>我检查了权限,一切都很好.
>我尝试将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/;
}
最佳答案
我的建议:

>使用django 1.3(和ADMIN_MEDIA_PREFIX is deprecated now)
>在settings.py中设置STATIC_URL and STATIC_ROOT
>在nginx conf中定义一个静态条目(带有斜杠).不需要第二个解决static / admin /的问题:

location /static/  {
        alias /path/to/static/;
}

>使用应该收集管理员的collectstatic – >静态/管理员.它将与所有其他收集的静态媒体位于同一位置.

python manage.py collectstatic

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读