Django重定向应用程序与开发站点
-
02-01-2020 - |
题
我有一个Django应用程序,它在开发和生产环境中都具有完整的功能。这是通过改变来处理的 ALLOWED_HOSTS
适当地(假设你不想 DEBUG
)并设置Apache以正确服务每个位置。我的问题是我想使用 Django重定向应用程序 为了处理我的重定向前进(这个项目的一部分是远离PHP的过渡),因为这意味着我不再需要在Apache中处理这些重定向。重定向是一个更大的头痛和Apache导致其索引问题。php重定向循环。此外,这将允许我在Django下过渡更多的网站控制,这是管理轻松的目标。我遇到的问题是重定向应用程序使用 SITE_ID 来确定有效的目标/重定向。生产服务器具有与开发不同的主机名,因此我无法测试或验证重定向应用程序。这显然损害了隔离的几乎相同的开发服务器的目的,即在上线之前测试所有功能。我从 网站架构 个别网站需要个别settings.py 文件和守护进程共存,但这对我的场景没有帮助,因为开发站点在地理上与生产分开。从文档中我不清楚:
1)如何添加站点,而不是添加/更改 SITE_ID
-我在哪里选择关联的名称?
2)假设1,这是最好的方法(并且是足够的),因为我已经有一个不同的settings.py 档案?
3)我是如何结束了相同的两个网站条目 foo.com
这对我的重定向有什么影响?我只有一个wsgi和settings.py (在每台服务器上)但
+----+-------------+-------------+
| id | domain | name |
+----+-------------+-------------+
| 1 | example.com | example.com |
| 2 | foo.net | foo.net |
| 3 | foo.net | foo |
+----+-------------+-------------+
在我的数据库里?我没有看到这些网站在哪里添加或配置,这导致我对如何调整我的网站框架以适应重定向应用程序感到困惑。由于我在Django1.5.4上,默认情况下启用了站点框架,所以我以前从未考虑过它。
解决方案
关联站点的名称并不重要,因为重定向只是使用id,所以我删除了所有重复的站点,只留下id1作为实际的域名,设置 SITE_ID = 1
在生产和测试配置中。我不知道其他网站是从哪里来的,因为我只用过 SITE_ID
要设置重定向,但它现在工作。