Konfiguracja Django

W teorii uruchomienie aplikacji Django u nas jest proste. W praktyce również będzie proste jak zapoznasz się z tym poradnikiem :)

Zaloguj się na swoje konto przez ssh i zacznij od skonfigurowania virtualenva i zainstalowania Django. Aktualnie stabilna wersja to 1.4 i dla niej jest ten opis. Prawdopodobnie będzie również aktualny dla kolejnych wersji o ile nie zmieni się struktura katalogów, jak przy wersji 1.4. Screencast podlinkowany wyżej pokazuje konfigurację virtualenva, instalację Django oraz Gunicorna.

Kolejnym krokiem będzie dodanie aplikacji w panelu

Pamiętaj o dwóch rzeczach:

  1. ustawieniu jako katalog aplikacji folderu zawierającego settings.py (dla Django 1.4 i przykładu ze screencasta będzie to app/app)
  2. dodaniu domeny do aplikacji - bez tego nie uruchamiamy aplikacji, nie konfigurujemy serwera WWW dla niej

Pliki statyczne

Jeżeli wybierzesz jako typ aplikacji Django na Gunicornie (zalecane) to będziesz mógł pliki statyczne serwować spod URI site_media, static i media. Katalog na pliki statyczne musi być umieszczony w katalog aplikacji podanym w panelu (app/app/)

  • URI /site_media/ - app/app/site_media/
  • URI /static/ - app/app/static/
  • URI /media/ - app/app/site_media/media

Zwróć uwagę na konfigurację ścieżek dla URI /media/ - to zaszłość historyczna, którą mam nadzieję niedługo wyrównamy. 

Pliki statyczne serwowane są na prawach grupy czyli grupa musi mieć x na katalogach i r na plikach. Ustawianie szerszych uprawnień dla pozostałych użytkowników nie jest potrzebne.

Dobrym pomysłem jest serwowanie plików statycznych z innej domeny. Możesz wtedy wynieść static na inny serwer (np. przy dużym ruchu serwować z miejsca, gdzie jest tani transfer), a przeglądarka - przy odpowiednich ustawieniach domeny w set-cookie - nie będzie wysyłać ciasteczka dla tych plików.

Problemy

Jeżeli aplikacja się nie uruchamia, na stronie widzisz błąd 502 lub inny to sprawdź w logach co jest przyczyną. Do logów dostaniesz się poleceniem appctl

appctl log:app demo_django

appctl log:error demo_django

Polecenie

appctl list

pokaże status wszystkich aplikacji i ścieżkę do jej logów.

Najczęstsza przyczyna problemów z uruchomieniem aplikacji to zły katalog podany w panelu. Pamiętaj, że to ma być katalog zawierający settings.py. Innym powodem może być niezaładowanie virtualenva w .environment w katalogu aplikacji (patrz screencast) - wtedy aplikacja będzie uruchamiać się z Pythonem systemowym)

Jeżeli nie będziesz wiedział dlaczego aplikacja nie uruchomiła się poprawnie, napisz do nas na adres admin@megiteam.pl