0

我有一个 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,因此默认情况下启用了站点框架,所以我以前从未想过它。

4

1 回答 1

0

关联站点的名称无关紧要,因为重定向只使用 id,所以我删除了所有重复的站点,只留下 id 1 作为实际域名,SITE_ID = 1在生产和测试配置中设置。我不知道其他网站是从哪里来的,因为我以前只SITE_ID设置重定向,但现在可以了。

于 2014-08-04T20:05:45.867 回答