Django / admin重定向到/ usr / src / app / admin

时间:2017-11-24 02:57:36

标签: python django nginx daphne

我们的Django 1.9.6应用程序在Docker容器中运行。 docker容器的nginx配置为提供静态文件。

我们链接到/ admin,它会将我们带到/ admin页面,但是当我们点击链接时,它会将我们带到 / usr / src / app / admin / api / module /

我可以告诉你Django正在从/ usr / src / app目录运行。

我们尝试在设置中添加FORCE_SCRIPT_NAME='',但这没有帮助。

Django应用程序正在通过Daphne运行(因为我们正在使用频道)

这是我们的nginx配置:

server {
    listen      80 default_server;

    charset     utf-8;

    # max upload size
    client_max_body_size 4G;   

    # Django media
    location /media  {
        alias /usr/src/app/media;  
    }

    location /static {
        alias /usr/src/app/static-collect; - amend as required
    }

    location / {
        proxy_pass http://0.0.0.0:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
    }
}`

1 个答案:

答案 0 :(得分:0)

问题不在于nginx或其任何配置,而是我们如何开始daphne

我们有 daphne --root-path=/usr/src/app -b 0.0.0.0 -p 8000 config.asgi:channel_layer -v2

在我们的脚本中启动daphne。我们删除了--root-path=/usr/src/app一个按预期工作。

daphne -b 0.0.0.0 -p 8000 config.asgi:channel_layer -v2