Framework Django – pierwsze kroki

Jednym z najpopularniejszych i często wykorzystywanych w budowie aplikacji internetowych bibliotek jest framework Django. W internecie dostępnych jest wiele tutoriali wprowadzających do samego języka Python, jak i samego framework’u. W poniższym poście, który stanowi 1 część cyklu postów na temat Django, chciałbym w krótki sposób przedstawić najważniejsze z kroków wprowadzających osoby początkujące.

Sprawdzenie wersji Django

$ python3 -m django --version

Utworzenie projektu

$ django-admin startproject example

Najważniejsze pliki w nowo utworzonym projekcie:

  • manager.py – główny plik wykorzystywany do zarządzania aplikacją, jej uruchamiania, wykonywania migracji bazy danych itd.;
  • settings.py – plik zawierający ustawienia aplikacji;
  • urls.py – plik, w którym definiujemy routingi tzn. dla jakich URL’i mają być wykonywane określone czynności czy wyświetlane odpowiednie widoki;
  • wsgi.py – plik zawierający konfigurację WSGI.

Uruchomienie serwera z aplikacją

$ python3 manage.py runserver

Utworzenie aplikacji w ramach projektu

$ python3 manage.py startapp app

Pierwszy widok

Implementacja prostego widoku w pliku app/views.py:

from django.http import HttpResponse

def index(request):
return HttpResponse("Simple app in Django")

Routing

Definicja routingu w aplikacji w pliku app/urls.py:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

Definicja routingu w całym projekcie w pliku urls.py:

from django.conf.urls import include, url
from django.contrib import admin

from . import views

urlpatterns = [
  url(r'^/?app/?$', include('app.urls')),
  url(r'^/?$', views.index, name='index'),
  url(r'^admin/', admin.site.urls),
]

Baza danych

Przygotowanie do migracji bazy danych tj. utworzenia wymaganych tabel zdefiniowanych w pliku z ustawieniami:

$ python3 manage.py makemigrations

Wykonanie migracji:

$ python3 manage.py migrate

Utworzenie konta administratora

$ python3 manage.py createsuperuser

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload CAPTCHA.