Click here to load reader
Upload
zamcamp
View
614
Download
0
Embed Size (px)
Citation preview
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Django – webowy framework dla perfekcjonistów
Arkadiusz SmykZamcamp, Zamość 2010
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
O mnie
● Programistahobbysta● Linux user● Uczeń
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
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ą
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)
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
MTV
● Model● Template● View
...Prawie to samo co MVC...
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
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()
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...
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
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
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
View
from appka.models import Osobafrom 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
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
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 %}
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)
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
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 ;)
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
THE END
www.djangoproject.com