„Framework witryn” na pojedynczej instancji django

Chcę obsługiwać specjalistyczne kanały RSS w innej subdomenie niż reszta witryny.

Czy mogę użyć struktury witryn do używania innego pliku urls.py i settings.pyw jednej instancji django. czy muszę ustawić dwie lokalizacje apache i po prostu ustawić różne pliki settings.py w conf.

Powodem, dla którego muszę skonfigurować dwa pliki urls.py, jest uniknięcie duplikowania treści. Nie chcę, aby główna witryna była dostępna w rss.example.com, a nie chcę, aby wyspecjalizowane kanały były dostępne na example.com

Obsługa ich z pojedynczej instancji django byłaby idealna, ponieważ jesteśmy na współdzielonym hostingu z ograniczoną pamięcią i wydaje się, że takim marnotrawstwem jest posiadanie otwartej instancji, która obsługuje tylko rss.

edytować: Doszedłem do wniosku, że wiele instancji z oddzielnymi plikami urls.py byłoby dla mnie najłatwiejsze ... ale znalazłem ten artykuł opisujący, jak to zrobić za pomocą pojedynczej instancji:

http://effbot.org/zone/django-multihost.htm

Rozwiązanie:Tupperware Django

Skończyło się na napisaniu frameworka do uruchamiania wielu kopii witryny na pojedynczej instancji django.

Podstawową ideą jest zmianaSITE_ID ustawianie w locie dla każdego żądania i ładowanie alternatywnych ustawień z bazy danych. Robi to w oparciu o domenę i zastosowaniaSITE_ID = 1 domyślnie (gdy nic nie może znaleźć)

Wszystkie ustawienia w pliku settings.py działają jak ustawienia domyślne, które są zastępowane przez ustawienia zapisane w bazie danych dla bieżącej witryny.

Działa całkiem nieźle :) i działa w produkcji whttp://rootbuzz.com

questionAnswers(2)

yourAnswerToTheQuestion