【问题标题】:Django redirects app with development siteDjango 将应用程序重定向到开发站点
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-02-28
      • 2018-08-07
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-07-26
      • 2017-04-17
      • 2014-10-27
      • 2020-08-18
      相关资源
      最近更新 更多