我有一个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 要设置重定向,但它现在工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top