python - 在预定位置提供 django 应用程序 (NGINX)
问题描述
我有一个为我的 Django 应用程序提供服务的 Web 服务器(使用 NGINX),我需要在定义的“位置”中访问它。
例如,我在“ip:port/”中访问我的 Django 应用 XPTO,但我需要像“ip:port/XPTO/”一样访问它。Django 中指定的所有 url 都必须在这个“base url”“之后”解析。
无论如何,我可以在不弄乱 Django 中的“urls.py”的情况下做到这一点?我在 NGINX 上尝试了一些配置,但没有任何效果。
提前致谢!
解决方案
您需要location
在 nginx 配置中使用该指令。
你现在可能有一些看起来像这样的东西:
location / {
...
}
要在 XPTO 下提供服务,您需要:
location /XPTO/ {
...
}
您还需要确保通过url
标签或reverse
函数生成所有内部链接,以便它们自动包含前缀。
如果这不起作用,请向我们展示您当前的 nginx 配置(将其编辑到问题中),我们也许能够提供更具体的建议。
推荐阅读
- python - BeautifulSoup:在标签内获取文本
- java - Java 设置 GUI 对象的 null
- kotlin - kotlin jpa 中的类投影
- javascript - React setState() 不更新状态
- django - Django REST Frameworking:修改 GET 请求的 PrimaryKeyRelatedField 查询集
- javascript - 使用渲染功能渲染 html
- java - 带有抽象类和 XML 的 @RequestBody
- html - 为什么用巨大的空间包装 flexbox 列对齐的项目?
- c++ - 创建对隐式强制转换产生的子类实例的父类引用
- android - 如何制作可滑动的对话框