Django: Różnice pomiędzy wersjami

Linia 1: Linia 1:
{{Stub}}
 
 
 
''Django'' to otwarty, napisany w [[Python|Pythonie]] framework przeznaczony do tworzenia aplikacji [[WWW]]. Na serwerach ''MyDevil.net'' możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii ''Phusion Passenger''.
 
''Django'' to otwarty, napisany w [[Python|Pythonie]] framework przeznaczony do tworzenia aplikacji [[WWW]]. Na serwerach ''MyDevil.net'' możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii ''Phusion Passenger''.
  
Linia 7: Linia 5:
 
Do uruchomienia strony napisanej w ''Django'' należy pierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
 
Do uruchomienia strony napisanej w ''Django'' należy pierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
  
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]],
+
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
 
* Została dodana [[WWW|Strona WWW]] z wskazaniem typu [[Python]].
 
* Została dodana [[WWW|Strona WWW]] z wskazaniem typu [[Python]].
  
Linia 14: Linia 12:
 
=== Projekt Django ===
 
=== Projekt Django ===
  
Głównym katalogiem projektu ''Django'' (tj. katalog, w którym znajduje się plik <code class="directory">manage.py</code>) musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>.  Nazwa projektu ''Django'' nie ma znaczenia, dopóki zachowana jest powyższa nazwa katalogu.
+
Głównym katalogiem projektu ''Django'' (tj. katalogiem, w którym znajduje się plik <code class="directory">manage.py</code>) musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>.  Nazwa projektu ''Django'' nie ma znaczenia, dopóki zachowana jest powyższa nazwa katalogu.
  
==== Nowy projekt django ====
+
==== Nowy projekt Django ====
  
Nowy projekt django należy utworzyć w katalogu <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code> - najprostszym sposobem utworzenia odpowiedniego projektu jest wydanie następujących poleceń:
+
Nowy projekt Django należy utworzyć w katalogu <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code> - najprostszym sposobem utworzenia odpowiedniego projektu jest wydanie następujących poleceń:
  
 
  cd /usr/home/''login''/domains/''domena''/
 
  cd /usr/home/''login''/domains/''domena''/
Linia 26: Linia 24:
 
W ostatnim poleceniu można zmienić nazwę <code class="directory">public_python</code> na dowolną nazwę projektu - należy wtedy pamiętać, że projekt zostanie utworzony w katalogu o tej właśnie nazwie, którą trzeba zmienić na <code class="directory">public_python</code>.
 
W ostatnim poleceniu można zmienić nazwę <code class="directory">public_python</code> na dowolną nazwę projektu - należy wtedy pamiętać, że projekt zostanie utworzony w katalogu o tej właśnie nazwie, którą trzeba zmienić na <code class="directory">public_python</code>.
  
==== Istniejący projekt django ====
+
==== Istniejący projekt Django ====
  
 
Istniejący projekt ''Django'' należy umieścić jako katalog <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. W przypadku gdy projekt nie nazywa się <code class="directory">public_python</code> należy zmienić jego nazwę.
 
Istniejący projekt ''Django'' należy umieścić jako katalog <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. W przypadku gdy projekt nie nazywa się <code class="directory">public_python</code> należy zmienić jego nazwę.
Linia 32: Linia 30:
 
=== Konfiguracja ''Phusion Passenger'' ===
 
=== Konfiguracja ''Phusion Passenger'' ===
  
Ostatnim krokiem jest konfiguracja modułu ''Phusion Passenger'', który jest odpowiedzialny za uruchomienie aplikacji ''Django''. Należy w katalogu projektu django (<code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>) utworzyć plik <code class="directory">passenger_wsgi.py</code> i umieścić w nim następującą zawartość (zależnie od wersji Django), modyfikując linijkę wskazującą nazwę aplikacji (oznaczoną komentarzem):
+
Ostatnim krokiem jest konfiguracja modułu ''Phusion Passenger'', który jest odpowiedzialny za uruchomienie aplikacji ''Django''. Należy w katalogu projektu Django (<code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>) utworzyć plik <code class="directory">passenger_wsgi.py</code> i umieścić w nim następującą zawartość (zależnie od wersji Django), modyfikując linijkę wskazującą nazwę aplikacji (oznaczoną komentarzem):
  
 
==== Django 1.7 i nowsze ====
 
==== Django 1.7 i nowsze ====
Linia 40: Linia 38:
 
sys.path.append(os.getcwd())
 
sys.path.append(os.getcwd())
 
os.environ['DJANGO_SETTINGS_MODULE'] = "nazwa_aplikacji.settings"  # zmienić 'nazwa_aplikacji' na
 
os.environ['DJANGO_SETTINGS_MODULE'] = "nazwa_aplikacji.settings"  # zmienić 'nazwa_aplikacji' na
                                                                   # nazwę projektu django
+
                                                                   # nazwę projektu Django
  
 
from django.core.wsgi import get_wsgi_application
 
from django.core.wsgi import get_wsgi_application
Linia 52: Linia 50:
 
sys.path.append(os.getcwd())
 
sys.path.append(os.getcwd())
 
os.environ['DJANGO_SETTINGS_MODULE'] = "nazwa_aplikacji.settings"  # zmienić 'nazwa_aplikacji' na
 
os.environ['DJANGO_SETTINGS_MODULE'] = "nazwa_aplikacji.settings"  # zmienić 'nazwa_aplikacji' na
                                                                   # nazwę projektu django
+
                                                                   # nazwę projektu Django
  
 
import django.core.handlers.wsgi
 
import django.core.handlers.wsgi
Linia 66: Linia 64:
 
Poprawność konfiguracji modułu ''Phusion Passenger'' można sprawdzić wydając polecenie <code>python passenger_wsgi.py</code> - jeśli aplikacja nie zwróci żadnych błędów to znaczy, że aplikacja powinna zostać prawidłowo uruchomiona przez passengera.
 
Poprawność konfiguracji modułu ''Phusion Passenger'' można sprawdzić wydając polecenie <code>python passenger_wsgi.py</code> - jeśli aplikacja nie zwróci żadnych błędów to znaczy, że aplikacja powinna zostać prawidłowo uruchomiona przez passengera.
  
{{Warning|Polecenie <code>python passenger_wsgi.py</code> sprawdzi jedynie poprawność konfiguracji modułu ''Phusion Passenger'' - w przypadku błędów samej aplikacji django, zostaną one obsłużone przez moduł, bądź samo Django.
+
{{Warning|Polecenie <code>python passenger_wsgi.py</code> sprawdzi jedynie poprawność konfiguracji modułu ''Phusion Passenger'' - w przypadku błędów samej aplikacji Django, zostaną one obsłużone przez moduł, bądź samo Django.
  
 
Błąd uniemożliwiający start aplikacji sprawi, że na stronie zostanie wyświetlony generyczny błąd ''Phusion Passenger''. Błędy w trakcie działania aplikacji zostaną złapane przez ''Django'' i ich obsługa jest zależna od konfiguracji samej aplikacji.}}
 
Błąd uniemożliwiający start aplikacji sprawi, że na stronie zostanie wyświetlony generyczny błąd ''Phusion Passenger''. Błędy w trakcie działania aplikacji zostaną złapane przez ''Django'' i ich obsługa jest zależna od konfiguracji samej aplikacji.}}

Wersja z 13:09, 16 mar 2015

Django to otwarty, napisany w Pythonie framework przeznaczony do tworzenia aplikacji WWW. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.

Wstępna konfiguracja domeny

Do uruchomienia strony napisanej w Django należy pierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana Strona WWW z wskazaniem typu Python.

Projekt Django

Głównym katalogiem projektu Django (tj. katalogiem, w którym znajduje się plik manage.py) musi być folder /usr/home/login/domains/domena/public_python. Nazwa projektu Django nie ma znaczenia, dopóki zachowana jest powyższa nazwa katalogu.

Nowy projekt Django

Nowy projekt Django należy utworzyć w katalogu /usr/home/login/domains/domena/public_python - najprostszym sposobem utworzenia odpowiedniego projektu jest wydanie następujących poleceń:

cd /usr/home/login/domains/domena/
rm -rf public_python
django-admin.py startproject public_python

W ostatnim poleceniu można zmienić nazwę public_python na dowolną nazwę projektu - należy wtedy pamiętać, że projekt zostanie utworzony w katalogu o tej właśnie nazwie, którą trzeba zmienić na public_python.

Istniejący projekt Django

Istniejący projekt Django należy umieścić jako katalog /usr/home/login/domains/domena/public_python. W przypadku gdy projekt nie nazywa się public_python należy zmienić jego nazwę.

Konfiguracja Phusion Passenger

Ostatnim krokiem jest konfiguracja modułu Phusion Passenger, który jest odpowiedzialny za uruchomienie aplikacji Django. Należy w katalogu projektu Django (/usr/home/login/domains/domena/public_python) utworzyć plik passenger_wsgi.py i umieścić w nim następującą zawartość (zależnie od wersji Django), modyfikując linijkę wskazującą nazwę aplikacji (oznaczoną komentarzem):

Django 1.7 i nowsze

import sys, os

sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = "nazwa_aplikacji.settings"  # zmienić 'nazwa_aplikacji' na
                                                                   # nazwę projektu Django 

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Django do wersji 1.6 włącznie

import sys, os

sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = "nazwa_aplikacji.settings"  # zmienić 'nazwa_aplikacji' na
                                                                   # nazwę projektu Django 

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Nazwa aplikacji

Nazwę aplikacji (projektu Django) można wyciągnąć z pliku manage.py poleceniem grep DJANGO_SETTINGS_MODULE manage.py.

Testowanie konfiguracji

Poprawność konfiguracji modułu Phusion Passenger można sprawdzić wydając polecenie python passenger_wsgi.py - jeśli aplikacja nie zwróci żadnych błędów to znaczy, że aplikacja powinna zostać prawidłowo uruchomiona przez passengera.

Restart aplikacji

Restart aplikacji Django można wykonać za pomocą naszego panelu zarządzania usługą w zakładce WWW, lub przy użyciu polecenia systemu zarządzania kontem Devil: devil www restart domena. Przy restarcie nie są usuwane pliki .pyc.

Odnośniki zewnętrzne