我在端口8011上设置了一个Django服务器,并在端口80上有一个nginx作为子目录服务。
静态文件,很好。
页面,很好。
但是当我访问/子目录/ admin /时,它需要我:/ admin / login /?next = / admin /
这当然是404错误,但如果我访问/子目录/ admin / login /?next = / admin /,它可以正常工作。
有什么想法吗?我需要在settings.py中设置变量吗?
urls.py
:
url(r'^admin/', admin.site.urls),
nginx config:
server {
listen 80;
location /sdc {
proxy_pass http://127.0.0.1:8011/;
}
}
答案 0 :(得分:-2)
我相信正在发生的事情是,当django看到你还没有登录时,它会将你重定向到名为' admin:login'的网址。它通过颠倒你在urls.py中看到的内容来确定该网址,这种情况就是admin/login/
(https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#reversing-admin-urls)。这意味着它不知道它在/subdirectory/
内运行。
尝试在urls.py中添加子目录
url(r'^subdirectory/admin/', admin.site.urls),