首页 > 解决方案 > 在预定位置提供 django 应用程序 (NGINX)

问题描述

我有一个为我的 Django 应用程序提供服务的 Web 服务器(使用 NGINX),我需要在定义的“位置”中访问它。

例如,我在“ip:port/”中访问我的 Django 应用 XPTO,但我需要像“ip:port/XPTO/”一样访问它。Django 中指定的所有 url 都必须在这个“base url”“之后”解析。

无论如何,我可以在不弄乱 Django 中的“urls.py”的情况下做到这一点?我在 NGINX 上尝试了一些配置,但没有任何效果。

提前致谢!

标签: pythondjangowebnginxwebserver

解决方案


您需要location在 nginx 配置中使用该指令。

你现在可能有一些看起来像这样的东西:

location / {
    ...
}

要在 XPTO 下提供服务,您需要:

location /XPTO/ {
    ...
}

您还需要确保通过url标签或reverse函数生成所有内部链接,以便它们自动包含前缀。

如果这不起作用,请向我们展示您当前的 nginx 配置(将其编辑到问题中),我们也许能够提供更具体的建议。


推荐阅读