Przeczytaj też artykuł Zmiany pomiędzy platformami, gdzie znajdują się informacje niezwiązane z konkretnym typem aplikacji.
virtualenv
Na MT 1.0 konfiguracja środowiska aplikacji była po stronie klienta, w panelu wskazywało się jedynie w którym katalogu jest aplikacja. Panowała duża dowolność w konfiguracji środowiska, virtualenv nie był standardowo dostępny, wszystkie moduły trzymane były w tym samym katalogu i instalowane przez easy_install.
Obecnie to panel zakłada aplikację i wymusza użycie vrtualenva jako dobrej praktyki przy utrzymywaniu aplikacji. Po zalogowaniu do shella workon pokaże dostępne środowiska a workon nazwa_środowiska przełączy do odpowiedniego środowiska i przeniesie do katalogu aplikacji. Moduły instaluje się poleceniem pip.
gunicorn
Wszystkie aplikacje uruchamiane są za pomocą gunicorna. Aktualnie nie ma możliwości ustawiania w panelu liczby procesów aplikacji – jeżeli będzie to potrzebne to wprowadzimy takie rozwiązanie. Prosimy zgłaszać zapotrzebowanie na admin@megiteam.pl.
Liczbę procesów można zwiększać z shella przez wbudowane mechanizmy gunicorna
kill -SIGTTIN PID_mastera
Będzie to działać do restartu aplikacji.
Własne DJANGO_SETTINGS_MODULE
Domyślnie gunicorn poszukuje pliku settings.py w katalogu aplikacji. Można podać własne DJANGO_SETTINGS_MODULE w pliku .environment w katalogu aplikacji
DJANGO_SETTINGS_MODULE=moje.settings
Zmienne środowiskowe
Dowolne zmienne środowiskowe można ustawiać w pliku .environment w katalogu aplikacji. Te ustawienia są ładowane przy starcie aplikacji, nie są ładowane w shellu.
Pliki statyczne
Pliki statyczne powinny być serwowane przez serwer WWW (u nas Nginx) a nie przez aplikację. Nasza konfiguracja zakłada, że pliki umieszczone są w katalogu static w katalogu projektu (dokładna ścieżka pojawia się na ekranie w danych po założeniu aplikacji Django) i są serwowane z URLa /static/. Można ustawić dowolny katalog i dowolnego URLa dodając w panelu aplikację pod adresem serwis.megiteam.pl/URL
Konfiguracja bazy danych
Aplikacja instalowana przez panel (dodanie aplikacji z zaznaczoną opcją „zainstaluje na serwerze) ma skonfigurowaną bazę danych. Konfiguracja odbywa się przez środowisko. W settings.py jest kawałek naszego kodu, który wczytuje dane dostępowe z ustalonego miejsca. Dzięki temu można trzymać settings.py w repo.
Można też korzystać ze standardowego sposobu konfiguracji bazy, trzeba tylko usunąć nasz kod z settings.py
Repozytorium gita
Przy zakładaniu aplikacji przez panel domyślnie zakładamy dla niej również repo gita. Push do tego repo spowoduje uaktualnienie katalogu z którego uruchomiona jest aplikacja i jej restart.
Wspierane wersje
Przez panel można założyć aplikację na Django 1.5 i 1.6 na Pythonie 2.7 i 3.3. Samodzielnie z shella można zainstalować dowolną wersję Django. Najprościej jest użyć autoinstalatora w panelu a później usunąć z virtualenva z zainstalowanych modułów Django i zainstalować własną wersję. Trzeba też usunąć szkielet aplikacji stworzony przez nas (katalog aplikacji) i stworzyć taki sam ale przy pomocy django-admin dla własnej wersji Django.