SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
   
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
Django – webowy framework dla
perfekcjonistów
Arkadiusz Smyk
Zamcamp, Zamość 2010
die.angelpl@gmail.com
die.blip.pl
   
Django – webowy framework dla perfekcjonistów
Arkadiusz Smyk – Zamcamp 28.10.2010
O mnie
● Programista­hobbysta
● 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 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
   
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

Weitere ähnliche Inhalte

Andere mochten auch

TERMINALFOUR t44u 2012 - Web services
TERMINALFOUR t44u 2012 - Web servicesTERMINALFOUR t44u 2012 - Web services
TERMINALFOUR t44u 2012 - Web services
Terminalfour
 
TERMINALFOUR t44u 2010 - What's new in Enterprise Search
TERMINALFOUR t44u 2010 - What's new in Enterprise SearchTERMINALFOUR t44u 2010 - What's new in Enterprise Search
TERMINALFOUR t44u 2010 - What's new in Enterprise Search
Terminalfour
 
TERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual Media
TERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual MediaTERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual Media
TERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual Media
Terminalfour
 
TERMINALFOUR t44u 2010 - CMS Roadmap November2010
TERMINALFOUR t44u 2010 - CMS Roadmap November2010TERMINALFOUR t44u 2010 - CMS Roadmap November2010
TERMINALFOUR t44u 2010 - CMS Roadmap November2010
Terminalfour
 
TERMINALFOUR t44u 2010 - Introduction & Company Overview
TERMINALFOUR t44u 2010 - Introduction & Company OverviewTERMINALFOUR t44u 2010 - Introduction & Company Overview
TERMINALFOUR t44u 2010 - Introduction & Company Overview
Terminalfour
 
ZamCamp - Ciekawe sposoby debugowania kodu
ZamCamp - Ciekawe sposoby debugowania koduZamCamp - Ciekawe sposoby debugowania kodu
ZamCamp - Ciekawe sposoby debugowania kodu
zamcamp
 
TERMINALFOUR t44u 2010 - Approaches to the Mobile Web
TERMINALFOUR t44u 2010 - Approaches to the Mobile WebTERMINALFOUR t44u 2010 - Approaches to the Mobile Web
TERMINALFOUR t44u 2010 - Approaches to the Mobile Web
Terminalfour
 
TERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case Study
TERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case StudyTERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case Study
TERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case Study
Terminalfour
 
World blood donor day 2014
World blood donor day 2014World blood donor day 2014
World blood donor day 2014
Rory Mulligan
 
TERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live searchTERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live search
Terminalfour
 
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 WorldTERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
Terminalfour
 
Columbia citi-conference-2010
Columbia citi-conference-2010Columbia citi-conference-2010
Columbia citi-conference-2010
adarsh.srivastav
 

Andere mochten auch (20)

Trabajo5
Trabajo5Trabajo5
Trabajo5
 
TERMINALFOUR t44u 2012 - What is Responsive Design?
TERMINALFOUR t44u 2012 - What is Responsive Design?TERMINALFOUR t44u 2012 - What is Responsive Design?
TERMINALFOUR t44u 2012 - What is Responsive Design?
 
Podstawy fotografii cyfrowej - ZamCamp #3
Podstawy fotografii cyfrowej - ZamCamp #3Podstawy fotografii cyfrowej - ZamCamp #3
Podstawy fotografii cyfrowej - ZamCamp #3
 
TERMINALFOUR t44u 2012 - Web services
TERMINALFOUR t44u 2012 - Web servicesTERMINALFOUR t44u 2012 - Web services
TERMINALFOUR t44u 2012 - Web services
 
Navidad Ester
Navidad EsterNavidad Ester
Navidad Ester
 
TERMINALFOUR t44u 2012 - Editing and Duplicating of Content Types
TERMINALFOUR t44u 2012 - Editing and Duplicating of Content TypesTERMINALFOUR t44u 2012 - Editing and Duplicating of Content Types
TERMINALFOUR t44u 2012 - Editing and Duplicating of Content Types
 
TERMINALFOUR t44u 2010 - What's new in Enterprise Search
TERMINALFOUR t44u 2010 - What's new in Enterprise SearchTERMINALFOUR t44u 2010 - What's new in Enterprise Search
TERMINALFOUR t44u 2010 - What's new in Enterprise Search
 
TERMINALFOUR t44u 2012 - Responsive Design from a developers perspective
TERMINALFOUR t44u 2012 - Responsive Design from a developers perspectiveTERMINALFOUR t44u 2012 - Responsive Design from a developers perspective
TERMINALFOUR t44u 2012 - Responsive Design from a developers perspective
 
TERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual Media
TERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual MediaTERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual Media
TERMINALFOUR t44u 2009 - Enhanced Media Library & Multilingual Media
 
TERMINALFOUR t44u 2010 - CMS Roadmap November2010
TERMINALFOUR t44u 2010 - CMS Roadmap November2010TERMINALFOUR t44u 2010 - CMS Roadmap November2010
TERMINALFOUR t44u 2010 - CMS Roadmap November2010
 
TERMINALFOUR t44u 2010 - Introduction & Company Overview
TERMINALFOUR t44u 2010 - Introduction & Company OverviewTERMINALFOUR t44u 2010 - Introduction & Company Overview
TERMINALFOUR t44u 2010 - Introduction & Company Overview
 
ZamCamp - Ciekawe sposoby debugowania kodu
ZamCamp - Ciekawe sposoby debugowania koduZamCamp - Ciekawe sposoby debugowania kodu
ZamCamp - Ciekawe sposoby debugowania kodu
 
TERMINALFOUR t44u 2010 - Approaches to the Mobile Web
TERMINALFOUR t44u 2010 - Approaches to the Mobile WebTERMINALFOUR t44u 2010 - Approaches to the Mobile Web
TERMINALFOUR t44u 2010 - Approaches to the Mobile Web
 
TERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case Study
TERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case StudyTERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case Study
TERMINALFOUR t44u 2009 - University of Sunderland and Exalead Case Study
 
World blood donor day 2014
World blood donor day 2014World blood donor day 2014
World blood donor day 2014
 
TERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live searchTERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live search
 
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 WorldTERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
 
TERMINALFOUR t44u 2012 - Support and Extranet developments
TERMINALFOUR t44u 2012 - Support and Extranet developmentsTERMINALFOUR t44u 2012 - Support and Extranet developments
TERMINALFOUR t44u 2012 - Support and Extranet developments
 
Columbia citi-conference-2010
Columbia citi-conference-2010Columbia citi-conference-2010
Columbia citi-conference-2010
 
Piel De Toro
Piel De ToroPiel De Toro
Piel De Toro
 

Mehr von zamcamp (8)

ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
ZamCamp 2.1 - Opis i zachęta do programowanie w języku RubyZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
 
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminalaZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
 
ZamCamp 2.1 - Wstępniak
ZamCamp 2.1 - WstępniakZamCamp 2.1 - Wstępniak
ZamCamp 2.1 - Wstępniak
 
ZamCamp #6 - Najczęstsze błędy w PHP
ZamCamp #6 - Najczęstsze błędy w PHPZamCamp #6 - Najczęstsze błędy w PHP
ZamCamp #6 - Najczęstsze błędy w PHP
 
ZamCamp #6 - Podsumowanie Roku 2008
ZamCamp #6 - Podsumowanie Roku 2008ZamCamp #6 - Podsumowanie Roku 2008
ZamCamp #6 - Podsumowanie Roku 2008
 
ZamCamp #4 - Gry MMORPG
ZamCamp #4 - Gry MMORPGZamCamp #4 - Gry MMORPG
ZamCamp #4 - Gry MMORPG
 
ZamCamp #4 - O mikroblogowaniu slajdów kilka
ZamCamp #4 - O mikroblogowaniu slajdów kilkaZamCamp #4 - O mikroblogowaniu slajdów kilka
ZamCamp #4 - O mikroblogowaniu slajdów kilka
 
Współczesne przeglądarki - ZamCamp#3
Współczesne przeglądarki - ZamCamp#3Współczesne przeglądarki - ZamCamp#3
Współczesne przeglądarki - ZamCamp#3
 

ZamCamp - Django – webowy framework dla perfekcjonistów

  • 1.     Django – webowy framework dla perfekcjonistów Arkadiusz Smyk – Zamcamp 28.10.2010 Django – webowy framework dla perfekcjonistów Arkadiusz Smyk Zamcamp, Zamość 2010 die.angelpl@gmail.com die.blip.pl
  • 2.     Django – webowy framework dla perfekcjonistów Arkadiusz Smyk – Zamcamp 28.10.2010 O mnie ● Programista­hobbysta ● 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