Frage

Ich habe eine Django-Anwendung, die sowohl in einer Entwicklungs- als auch in einer Produktionsumgebung mit vollständiger Funktionalität vorhanden ist.Dies wird durch einfaches Ändern gehandhabt ALLOWED_HOSTS angemessen (vorausgesetzt, Sie möchten nicht DEBUG) und Apache so einzurichten, dass jeder Standort ordnungsgemäß bedient wird.Mein Problem ist, dass ich das verwenden möchte Django leitet App um um meine Weiterleitungen in Zukunft zu handhaben (ein Teil dieses Projekts ist ein Übergang weg von PHP), weil dies bedeutet, dass ich mich nicht mehr mit diesen Weiterleitungen in Apache befassen muss.Weiterleitungen bereiten größere Kopfschmerzen und Apache verursacht Probleme mit seinem Index.php-Umleitungsschleifen.Dies wird mir auch ermöglichen, mehr Website-Kontrolle unter Django zu übertragen, was ein Ziel für die einfache Verwaltung ist.Das Problem, auf das ich stoße, ist, dass die Weiterleitungs-App das verwendet SEITEN-ID um ein gültiges Ziel / eine gültige Weiterleitung zu ermitteln.Der Produktionsserver hat einen anderen Hostnamen als die Entwicklung, daher kann ich die Weiterleitungs-App nicht testen oder verifizieren.Dies schadet offensichtlich dem Zweck des isolierten, nahezu identischen Entwicklungsservers, der darin besteht, alle Funktionen zu testen, bevor er live geht.Ich verstehe von der rahmen für Websites dass einzelne Standorte individuelle settings.py dateien und Dämonen koexistieren, aber das ist wiederum für mein Szenario nicht hilfreich, da der Entwicklungsstandort geografisch von der Produktion getrennt ist.Es ist mir aus der Dokumentation nicht klar:

1) Hinzufügen einer Site, außer Hinzufügen / Ändern SITE_ID - wo wähle ich den zugehörigen Namen?

2) Unter der Annahme von 1 ist das der beste Weg (und angemessen), da ich bereits einen anderen habe settings.py datei?

3) Wie bin ich zu zwei Site-Einträgen für dasselbe gekommen foo.com und wie wirkt sich das auf meine Weiterleitungen aus?Ich habe nur ein einziges wsgi und settings.py (auf jedem Server) aber

+----+-------------+-------------+
| id | domain      | name        |
+----+-------------+-------------+
|  1 | example.com | example.com |
|  2 | foo.net     | foo.net     |
|  3 | foo.net     | foo         |
+----+-------------+-------------+

in meiner Datenbank?Ich sehe nicht, wo diese Sites hinzugefügt oder konfiguriert sind, was zu meiner Verwirrung darüber führt, wie ich mein Site-Framework an die Weiterleitungs-App anpassen kann.Da ich auf Django 1.5.4 bin, war das Sites-Framework standardmäßig aktiviert, sodass ich noch nie darüber nachgedacht habe.

War es hilfreich?

Lösung

Der Name der zugehörigen Site spielt keine Rolle, da Weiterleitungen nur die ID verwenden. Daher habe ich alle doppelten Sites gelöscht und nur die ID 1 für den tatsächlichen Domainnamen gesetzt SITE_ID = 1 sowohl in der Produktions- als auch in der Testkonfiguration.Ich weiß nicht, woher die anderen Seiten kamen, da ich nur verwendet habe SITE_ID um Weiterleitungen einzurichten, aber es funktioniert jetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top