Ich möchte spezialisierte RSS-Feeds auf einer anderen Subdomain als der Rest der Website bereitstellen."Sites Framework" auf einer einzigen Django-Instanz
Kann ich das Site-Framework verwenden, um eine andere urls.py- und settings.py-Datei in einer einzigen Django-Instanz zu verwenden. Oder muss ich zwei Apache-Speicherorte einrichten und einfach die verschiedenen settings.py-Dateien im apache conf festlegen.
Der Grund, warum ich zwei urls.py-Dateien einrichten muss, ist doppelte Inhalte zu vermeiden. Ich möchte nicht, dass die Hauptseite bei rss.example.com verfügbar ist, und ich möchte nicht, dass die speziellen Feeds auf example.com zugänglich sind.
Sie aus einer einzigen Django-Instanz zu bedienen wäre ideal, weil wir Re auf Shared Hosting mit begrenztem Speicher, und es scheint wie eine Verschwendung, eine Instanz offen zu haben, die nur rss dient.
bearbeiten: Ich schloss daraus, dass mehrere Instanzen mit eigenen urls.py Dateien wären für mich am einfachsten ... aber ich habe diesen Artikel beschreibt, wie es zu tun, um eine einzelne Instanz mit:
http://effbot.org/zone/django-multihost.htm
Lösung: Django tupperware
Ich beendete das Schreiben eines Rahmens für die Ausführung mehrerer Kopien einer Site auf einer einzelnen Django-Instanz.
Die Grundidee besteht darin, die SITE_ID
Einstellung für jede Anforderung im laufenden Betrieb zu ändern und alternative Einstellungen aus der Datenbank zu laden. Es tut dies, basierend auf Domäne und verwendet SITE_ID = 1
standardmäßig
Alle Einstellungen in der Datei settings.py wirken als Standardwerte, die überschrieben werden durch die Einstellungen in der Datenbank gespeichert für den aktuellen Standort (wenn es nichts finden).
Es funktioniert ziemlich gut :) und es ist in der Produktion bei http://rootbuzz.com
Sind Sie noch Tupperware verwenden? Oder haben Sie bessere und frische Alternativen gefunden? –
@MuratCorlu Tupperware ist immer noch in der Produktion für dieses Projekt :) – Jiaaro
Ich habe versucht, es mit Django 1.7 zu verwenden, aber es hat nicht wie erwartet funktioniert. Auch Projekt scheint auf Bitbucket tot zu sein. Können Sie eine Beispielkonfiguration darüber teilen, wie Sie Tupperware verwendet haben? –