2.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
O mnie
● Programistahobbysta
● Linux user
● Uczeń
3.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
O czym
● O tym co to Django
● O możliwościach
● O tym jak funkcjonuje
4.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Django??
● Webowy framework napisany w pythonie
● Do szybkiego tworzenia złożonych webapp'ów
● Powstał z potrzeby ;)
● Wydajny
● Na wysokim poziomie abstrakcji
● Z naprawdę bardzo dobrą dokumentacją
5.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Na początek...
● DRY (Don't Repeat Yourself)
● KISS (Keep It Smile, Stupid)
6.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
MTV
● Model
● Template
● View
...Prawie to samo co MVC...
7.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Model
● Jest strukturą która opisuje tabele w bazie danych
● Każdy model jest klasą
● Pola danej klasy określają strukture tabeli w bazie
danych
8.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Model
from django.db import models
class Osoba(models.Model):
imie = models.CharField(max_length=30)
nazwisko = models.CharField(max_length=30)
wiek = models.IntegerField()
9.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
CREATE TABLE appka_osoba (
"id" serial NOT NULL PRIMARY KEY,
"imie" varchar(30) NOT NULL,
"nazwisko" varchar(30) NOT NULL
"wiek" integer NOT NULL
);
I zrobila się taka tabela...
10.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
ORM Django
>>> o = Osoba(imie='Tadeusz',nazwisko='Korzecki',wiek='99')
>>> o.save()
>>> o.id #zwróci id
>>> o.imie #zwróci imię
>>> b = Osoba.objects.all() #a to da wszystkie osoby z bazy
11.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
View
● Każdy widok jest funkcją z min. 1 argumentem(żądanie
np. GET) która:
● Łączy to co było(Model) i to co zaraz(Template)
● Pobiera dane
● Wczytuje i renderuje szablon
12.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
View
from appka.models import Osoba
from django.shortcuts import render_to_response
def widok(request):
o = Osoba.objects.all() #wyciagamy wszystkie'Osoby' z bazy
return render_to_response('szablon.html',{'o':o}) #przekazujemy dane do szablonu
13.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Template
● Zwykły plik tekstowy
● Definiuje wygląd strony
● Zawierający tagi HTML'a
● I tagi Django'we które przechowują treść i kontrolują
logike strony
14.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Template
<h1>Moja Strona </h1>
{% for x in o %}
<h3>{{ x.imie }}</h3><br>
<h3>{{ x.nazwisko }}</h3>
<h2>{{ x.wiek }}</h2>
{% endfor %}
15.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Co jeszcze?
● Automagicznie generowany panel admina
● Działa na kilku systemach bazodanowych(MySql,
Oracle, SQLite, PostreSQL)
● Działa na serwerach z odpowiednim
modułem(np.mod_python, FastCGI)
16.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Sprawa hostingu
● Mniej popularny od php
● Można i za darmo – alwaysdata.com i Google App
Engine
● Dla niektórych ludzi mit z hostingiem skreśla django
17.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Podsumowując
● Robi się coraz popularniejszy
● Wszystkie niezbędne elementy do stworzenia www w
jednym opakowaniu
● Prosty, łatwy i szybki ;)
18.
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
THE END
www.djangoproject.com