Django перенаправляет приложение с сайта разработки
-
02-01-2020 - |
Вопрос
У меня есть приложение 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, структура сайтов была включена по умолчанию, поэтому я даже не думал об этом раньше.
Решение
Имя связанного сайта не имеет значения, поскольку для перенаправления используется только идентификатор, поэтому я удалил все повторяющиеся сайты, оставив только идентификатор 1 для фактического имени домена, установите SITE_ID = 1
как в производственной, так и в тестовой конфигурации.Я не знаю, откуда взялись другие сайты, поскольку я использовал только SITE_ID
настроить перенаправления, но сейчас это работает.