【发布时间】:2014-09-25 00:36:35
【问题描述】:
我有一个 Django 应用程序,它在开发和生产环境中都具有完整的功能。这可以通过适当地更改ALLOWED_HOSTS(假设您不想DEBUG)并设置Apache 以正确地为每个位置提供服务来处理。我的问题是我想使用Django redirects app 来处理我的重定向前进(这个项目的一部分是从 PHP 的过渡),因为这意味着我不再需要在 Apache 中处理这些重定向。重定向是一个更令人头疼的问题,Apache 会导致其 index.php 重定向循环出现问题。这也将允许我在 Django 下转换更多的网站控制,这是便于管理的目标。我遇到的问题是重定向应用程序使用SITE_ID 来确定有效的目标/重定向。生产服务器的主机名与开发服务器不同,因此我无法测试或验证重定向应用程序。这显然损害了隔离几乎相同的开发服务器的目的,即在上线之前测试所有功能。我从sites framework 了解到,各个站点需要单独的 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,因此站点框架默认启用,所以我以前从未想过。
【问题讨论】:
标签: django redirect django-settings django-1.5 django-sites