Django /subdirectory/admin/ 重定向到 /admin/login/?next=/admin/

Gra*_*ams 5 python django nginx

我在端口 8011 上设置了一个 Django 服务器,并让 nginx 将其作为端口 80 上的子目录。

静态文件,很好。

页数,不错。

但是当我访问 /subdirectory/admin/ 时,它需要我: /admin/login/?next=/admin/

这当然是一个 404 错误,但是如果我访问 /subdirectory/admin/login/?next=/admin/ ,它就可以正常工作。

有任何想法吗?我需要在settings.py中设置变量吗?

urls.py:

    url(r'^admin/', admin.site.urls),
Run Code Online (Sandbox Code Playgroud)

nginx 配置:

server {
    listen 80;

    location /sdc {
        proxy_pass http://127.0.0.1:8011/;
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 -3

我相信正在发生的事情是,当 django 发现您没有登录时,它会将您重定向到名为“admin:login”的 url。它通过反转在 urls.py 中看到的内容来计算出该 url,在这种情况下结果是admin/login/https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#reversing-admin-网址)。这意味着它不知道自己正在运行/subdirectory/

尝试在 urls.py 中添加子目录

url(r'^subdirectory/admin/', admin.site.urls),
Run Code Online (Sandbox Code Playgroud)