Django: wstęp
Django to wysokopoziomowy framework ułatwiający tworzenie aplikacji webowych.
W chwili pisania tego tekstu
najnowszą wersją Django
dostępną przez pip
jest 1.9.6.
Jeśli w przyszłości zainstalujesz nowszą, nie wszystko musi działać tak,
jak pokazano poniżej.
Zajrzyj do dokumentacji, aby poznać ewentualne zmiany.
Instalacja i tworzenie projektu
virtualenv project source project/bin/activate pip install django # teraz już Django jest zainstalowane # utwórzmy projekt django-admin startproject first # struktura plików: tree first first ├── first │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py # testowo uruchomimy serwer rozwojowy python first/manage.py runserver
Teraz pod adresem http://127.0.0.1:8000/ możesz sprawdzić, co jest serwowane w ramach projektu, który utworzyłeś. Powinieneś otrzymać komunikat podobny do poniższego.
iframe src="./fresh_project.html" style="width: 100%; height: 200px;"
/iframe
Utworzenie aplikacji
Projekt składa się z jednej lub wielu aplikacji. Poniżej utworzymy pierwszą aplikację.
cd first python manage.py startapp hello
Widoki
Każda aplikacja zawiera zbiór widoków — funkcji, które odpowiadają za generowanie odpowiedzi do przeglądarki.
Dla przykładu w aplikacji hello
utworzymy widok zwracający komunikat w formie czystego tekstu (nie HTML).
Zawartość pliku hello/views.py
:
from django.shortcuts import render from django.http import HttpResponse # Create your views here. def index(request): return HttpResponse("Hello world!")
Konfiguracja adresów URL
Aby widok mógł być wykorzystany,
należy podać adres, pod którym będzie dostępny.
Robimy to w plikach urls.py
.
Przykładowy plik first/urls.py
:
"""first URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.9/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^hello/', include('hello.urls')), url(r'^admin/', admin.site.urls), ]
Przykładowy plik hello/urls.py
:
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), ]
Teraz pod adresem http://127.0.0.1:8000/hello/
powinien pojawić się komunikat "Hello world!"
.
Zadania
-
Przeczytaj w dokumentacji, jak skonfigurować adresy URL tak, by przyjmowały parametry. Następnie utwórz widok, który będzie przyjmował dodatkowe parametry i wyświetlał ich wartość w przeglądarce.
-
Sprawdź w dokumentacji, jak używać standardowych szablonów instalowanych z Django. Utwórz szablon HTML i wykorzystaj go w widoku z poprzedniego zadania.