pl  |  en

Django

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.