我有一个 Django 应用程序,它在开发和生产环境中都具有完整的功能。这可以通过ALLOWED_HOSTS
适当地更改(假设您不想这样做DEBUG
)并设置 Apache 以正确地为每个位置提供服务来处理。我的问题是我想使用Django 重定向应用程序来处理我的重定向(该项目的一部分是从 PHP 的过渡),因为这意味着我不再需要在 Apache 中处理这些重定向。重定向是一个更令人头疼的问题,Apache 会导致其 index.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 |
+----+-------------+-------------+
在我的数据库中?我看不到这些网站是在哪里添加或配置的,这导致我对如何调整我的网站框架以适应重定向应用程序感到困惑。由于我使用的是 Django 1.5.4,因此默认情况下启用了站点框架,所以我以前从未想过它。