首页 > 解决方案 > 如何在与 Django 项目的其余部分不同的域上提供 Django 应用程序

问题描述

我正在使用带有 mod_wsgi 的 Apache 服务器。这是一个 Django 项目,有 3 个应用程序:app1、app2、app3

每个应用程序都在 urls.py 中定义并且可以正常工作:

examplesite.com/app1

examplesite.com/app2

examplesite.com/app3

我的 virtualhost conf 设置为同时接受examplesite.comapp2examplesite.com

现在我想要做的只是在另一个域的根目录中提供这些应用程序之一app2app2examplesite.com

最终结果应该是examplesite.com/app2app2examplesite.com是相同的。因此 app1 & app3 将无法通过app2examplesite.com访问。执行此操作的最佳实践方法是什么?

通过将我的urls.py设置为在两者上加载相同的视图,我得到了一些工作:

path('', MainHome.as_view(), name='home')

path('app2/', MainHome.as_view(), name='app2-home')

然而,这不是我想要的,因为这基本上使examplesite.comapp2examplesite.com相同,并且所有 3 个应用程序都可以在两个域上访问。

我不确定这是否需要通过 Apache 的 confs 或通过 Django 的 urls.py 或设置来完成。

TLDR;

目前,Django 项目的工作方式如下:

示例网站.com

examplesite.com/app1

examplesite.com/app2

examplesite.com/app3

但我想让 app2 在以下位置可用:

app2examplesite.com

标签: djangoapache

解决方案


推荐阅读