SlideShare uma empresa Scribd logo
1 de 89
Baixar para ler offline
Python i Django, a programowanie
aplikacji webowych.

Kaja Milanowska
©Wszystkie prawa zastrzeżone
Chwilka na autoreklamę

Sp. z o. o.
– Bioinformatics for Science
VitaInSilica to jedna z nielicznych w
Polsce firm skupiających specjalistów z
bioinformatyki,
biologii
molekularnej,
biotechnologii i IT.
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Nasz zespół

Dr Joanna Kasprzak

Anna Philips

Dr Anna Czerwoniec

Dr Tomasz Puton

Kaja Milanowska

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

©Wszystkie prawa zastrzeżone

www.vitainsilica.pl
office@vitainsilica.pl
Czym się zajmujemy

Konsultacje Naukowe w
Zakresie Bioinformatyki
•
•

•
•

Bioinformatyka
strukturalna
Modelowanie
molekularne
Analizy sekwencji
biologicznych
Biostatystyka i
filogenetyka

Rozwój
Oprogramowania
Bioinformatycznego
•
•
•
•

Systemy bazodanowe
Zautomatyzowany
przepływ danych
Zarządzanie danymi w
laboratorium
Programy i skrypty
wspomagające
analizy biologiczne i
biomedyczne

Dobra Szkoła
Bioinformatyki
•
•
•
•

Różne zagadnienia
bioinformatyczne
Zastosowanie narzędzi
bioinformatycznych
Języki programowania
Biostatystyka

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu
1. Skryptuj!

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu
1. Skryptuj!
Języki skrytpowe.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu
1. Skryptuj!
Języki skrytpowe.

Python

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu
1. Skryptuj!
Języki skrytpowe.

Python
2. Wyjdź do ludzi!

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu
1. Skryptuj!
Języki skrytpowe.

Python
2. Wyjdź do ludzi!
Frameworki webowe.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Słowem wstępu
1. Skryptuj!
Języki skrytpowe.

Python
2. Wyjdź do ludzi!
Frameworki webowe.
Django

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Skryptuj!
Języki skryptowe.
• Języki programowania służące do kontrolowania danej aplikacji
• Interpretowane - zaprojektowane z myślą o interakcji z użytkownikiem.
• Skrypty powłoki systemów uniksowych oraz narzędzi administracyjnych
• Osadzane w różnych programach - zapewniają możliwość
zautomatyzowania powtarzających się czynności. (pakiet Microsoft
Office wyposażony jest w osadzony interpreter języka Visual Basic for
Applications (VBA)).
• Swoje języki skryptowe mają też inne profesjonalne narzędzia edycyjne,
jak AutoCAD czy 3D Studio Max
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Skryptuj!
Języki skryptowe.
• Interpretery języków skryptowych są wykorzystywane przez serwery
WWW do serwowania dynamicznych stron internetowych (np.
przez interfejs CGI lub dodatkowe funkcjonalności serwera Apache) m.in. PHP, Perl, Python i Ruby
• Są też osadzane w grach komputerowych – sterowanie przebiegiem
gry – fabułą, dialogami, zachowaniem wirtualnych postaci, a czasem
nawet do sterowania działaniem całego interfejsu graficznego

Niektóre z języków określanych jako skryptowe:
• Python
• Awk
• bash

• JavaScript
• Perl
• PHP

• Ruby
• Tcl
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Skryptuj!
Języki skryptowe. Python.
• Dwie główne wersje standardowej (C) implementacji:
• 2.x (najbardziej popularna)
• 3.x
• Kod czyta / piszę się łatwo i przyjemnie 
• Problem z kompilacją z głowy!
• Automatyczna dealokacja pamięci
• Rozbudowana dokumentacja!
• Dostępność wielu bibliotek i rozszerzeń
• Duża i aktywna społeczność (http://python.org)
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Skryptuj!
Języki skryptowe. Python.
Ulubiony przykład!
$ ipython
>>> print 'Hello World!'
Hello World!
>>> print('Witaj świecie!')
Witaj świecie!

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Skryptuj!
Języki skryptowe. Python.
Prosta klasa:
class Pet(object):
””” ”””
def __init__(self, name, species):
self.name = name
self.species = species
def getName(self):
return self.name

def getSpecies(self):
return self.species
def __str__(self):
return "%s is a %s." % (self.name, self.species)

parrot = Pet(’Polly’, ’bird’)
print parrot
Polly is a bird.
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Literatura
Python.org – oficjalna strona
Python Programming: An Introduction To
Computer Science (2nd edition) – J. Zelle
Python Programming – M. Lutz
Python Essential Reference – D. Beazley

Konferencje:
EuroPython – http://europython.org/
PyCon UK – http://www.pyconuk.org/
RuPy – http://rupy.eu/
Wyjdź do ludzi!
Frameworki webowe.
• wsparcie rozwoju dynamicznych stron, aplikacji internetowych i
serwisów
• w większości oparte o model MVC (model-view-controller)

• Push-based = „action-based” – „pchają” dane do warstwy widoku, by
wygenerować wyniki: Django, Ruby on Rails, Symfony
• Pull-based = „composed-based” – zaczynają od wartswy widoku, która
„ściąga” wyniki od różnych kontrolerów: Stripes, Lift, Tapestry
• Three Tier Organisation – 3 fizyczne warstwy: klient, aplikacja i baza
danych ≠ MVC
• CMS = Content Management Systems: Joomla, Drupal
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Wyjdź do ludzi!
Frameworki webowe. Cechy.
• template system – statyczny HTML + część dynamiczna (kod
generujący HTML) – może być oparta na kodzie bądź na znacznikach
zawartych w HTMLu
• ograniczenie ilości kodu – dane do wypełnienia stron mogą pochodzić
z bazy danych
• język znaczników – niektóre poza zmiennymi dostarczają także proste
operacje logiczne
• niektóre frameworki dostarczają narzędzi do autentykacji i autoryzacji,
nakładki na bazy danych czy narzędzia do tworzenia i zarządzania
serwisami
• mapowanie URL= przyjazne adresy
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Wyjdź do ludzi!
Frameworki webowe. Django.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Wyjdź do ludzi!
Frameworki webowe. Django.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY
Technicznie rzecz ujmując

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY
Technicznie rzecz ujmując
W praktyce: Projekt, Aplikacja, Model

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY
Technicznie rzecz ujmując
W praktyce: Projekt, Aplikacja, Model
W praktyce: Administracja

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY
Technicznie rzecz ujmując
W praktyce: Projekt, Aplikacja, Model
W praktyce: Administracja
W praktyce: Widoki na szablony

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY
Technicznie rzecz ujmując
W praktyce: Projekt, Aplikacja, Model
W praktyce: Administracja
W praktyce: Widoki na szablony
W praktyce: Adresy stron

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Tajniki Django
Django, czyli co?
MTV = MVC
Pozostań DRY
Technicznie rzecz ujmując
W praktyce: Projekt, Aplikacja, Model
W praktyce: Administracja
W praktyce: Widoki na szablony
W praktyce: Adresy stron
Django-powered
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie
stworzony w 2003 przez grupę programistów związanych z
Lawrence Journal-World

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie
stworzony w 2003 przez grupę programistów związanych z
Lawrence Journal-World
w 2005 roku wydany na licencji BSD

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie
stworzony w 2003 przez grupę programistów związanych z
Lawrence Journal-World
w 2005 roku wydany na licencji BSD
opiera się na wzorcu projektowym podobnym
do MVC nazywanym MVT (Model-View-Template)

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie
stworzony w 2003 przez grupę programistów związanych z
Lawrence Journal-World
w 2005 roku wydany na licencji BSD
opiera się na wzorcu projektowym podobnym
do MVC nazywanym MVT (Model-View-Template)
nazwa od imienia gitarzysty Django Reinhardta
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django, czyli co?
wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie
stworzony w 2003 przez grupę programistów związanych z
Lawrence Journal-World
w 2005 roku wydany na licencji BSD
opiera się na wzorcu projektowym podobnym
do MVC nazywanym MVT (Model-View-Template)
nazwa od imienia gitarzysty Django Reinhardta
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Automatycznie generowany i kompletny panel administracyjny,

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Automatycznie generowany i kompletny panel administracyjny,
Przyjazne adresy dokumentów

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Automatycznie generowany i kompletny panel administracyjny,
Przyjazne adresy dokumentów
Prosty lecz funkcjonalny system szablonów

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Automatycznie generowany i kompletny panel administracyjny,
Przyjazne adresy dokumentów
Prosty lecz funkcjonalny system szablonów
Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu
(szablony) oraz baz danych

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Automatycznie generowany i kompletny panel administracyjny,
Przyjazne adresy dokumentów
Prosty lecz funkcjonalny system szablonów
Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu
(szablony) oraz baz danych

Wsparcie dla wielojęzycznych aplikacji

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Automatycznie generowany i kompletny panel administracyjny,
Przyjazne adresy dokumentów
Prosty lecz funkcjonalny system szablonów
Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu
(szablony) oraz baz danych

Wsparcie dla wielojęzycznych aplikacji
Bardzo duża skalowalność i wydajność

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.

Przyjazne adresy dokumentów
Prosty lecz funkcjonalny system szablonów
Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu
(szablony) oraz baz danych

Wsparcie dla wielojęzycznych aplikacji
Bardzo duża skalowalność i wydajność

Wydajne systemy cache'owania, obsługa Memcached
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Własny, prosty serwer do testowania aplikacji

Prosty lecz funkcjonalny system szablonów
Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu
(szablony) oraz baz danych

Wsparcie dla wielojęzycznych aplikacji
Bardzo duża skalowalność i wydajność

Wydajne systemy cache'owania, obsługa Memcached
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.
Własny, prosty serwer do testowania aplikacji
Współpraca z Apache poprzez WSGI (domyślnie) i mod_python oraz
z innymi serwerami

Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu
(szablony) oraz baz danych

Wsparcie dla wielojęzycznych aplikacji
Bardzo duża skalowalność i wydajność

Wydajne systemy cache'owania, obsługa Memcached
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.

Własny, prosty serwer do testowania aplikacji

Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz
z innymi serwerami
DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia
aplikacji

Wsparcie dla wielojęzycznych aplikacji
Bardzo duża skalowalność i wydajność
Wydajne systemy cache'owania, obsługa Memcached
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.

Własny, prosty serwer do testowania aplikacji

Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz
z innymi serwerami
DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia
aplikacji
Posiada ORM wysokiego poziomu pozwalający na łatwe i
bezpieczne operowania na bazach danych bez użycia SQL

Bardzo duża skalowalność i wydajność
Wydajne systemy cache'owania, obsługa Memcached
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.

Własny, prosty serwer do testowania aplikacji

Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz
z innymi serwerami
DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia
aplikacji
Posiada ORM wysokiego poziomu pozwalający na łatwe i
bezpieczne operowania na bazach danych bez użycia SQL
Obsługuje następujące bazy
danych: PostgreSQL, MySQL, SQLite oraz Oracle

Wydajne systemy cache'owania, obsługa Memcached
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
I jeszcze więcej charakterystyki.

Własny, prosty serwer do testowania aplikacji

Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz
z innymi serwerami
DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia
aplikacji
Posiada ORM wysokiego poziomu pozwalający na łatwe i
bezpieczne operowania na bazach danych bez użycia SQL
Obsługuje następujące bazy
danych: PostgreSQL, MySQL, SQLite oraz Oracle
djangoproject.com.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Literatura
DjangoProject – Oficjalna strona Django

DjangoBook – Darmowa książka o Django
Django.pl – Polska społeczność Django
Python Web Development with Django
– Forcier, Bissex, Chun

DjangoCon – 2 razy w roku (raz w
Europie – maj/czerwiec, raz w Stanach –
wrzesień)
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
MTV = MVC

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
MTV = MVC
MVC - Model View Cotroller - MTV - Model Template View

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
MTV = MVC
MVC - Model View Cotroller - MTV - Model Template View
Model = Model – klasa Python’a definiująca tabele w bazie
danych (pewna reprezentacja problemu bądź logiki aplikacji)

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
MTV = MVC
MVC - Model View Cotroller - MTV - Model Template View
Model = Model – klasa Pythona definiująca tabele w bazie
danych (pewna reprezentacja problemu bądź logiki aplikacji)
Template = View – Wzorzec, czyli informacja jak wyświetlić
dane na stronie (HTML + znaczniki) (opisuje, jak wyświetlić
pewną część modelu w ramach interfejsu użytkownika)

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
MTV = MVC
MVC - Model View Cotroller - MTV - Model Template View
Model = Model – klasa Pythona definiująca tabele w bazie
danych (pewna reprezentacja problemu bądź logiki aplikacji)
Template = View – Wzorzec, czyli informacja jak wyświetlić
dane na stronie (HTML + znaczniki) (opisuje, jak wyświetlić
pewną część modelu w ramach interfejsu użytkownika)
Views = Controller – funkcje Python’owe operujące na
danych (przyjmuje dane wejściowe od użytkownika i reaguje
na jego poczynania, zarządzając aktualizacje modelu oraz
odświeżenie widoków)
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
MTV = MVC

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

Zasada DRY (ang. Don't Repeat Yourself):

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

Zasada DRY (ang. Don't Repeat Yourself):
Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

Zasada DRY (ang. Don't Repeat Yourself):
Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.
vs.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

Zasada DRY (ang. Don't Repeat Yourself):
Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.
vs.
WET

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

Zasada DRY (ang. Don't Repeat Yourself):
Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.
vs.
WET We Edit Terribly, Tumultuously, Tempestuously,
Tenaciously, Too much, Timidly, Tortuously, Terrifiedly...

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Pozostań DRY

Zasada DRY (ang. Don't Repeat Yourself):
Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.
vs.
WET We Edit Terribly, Tumultuously, Tempestuously,
Tenaciously, Too much, Timidly, Tortuously, Terrifiedly...

"We Enjoy Typing"
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Technicznie
Instalacja i konfiguracja Django.
→ djangoproject.com
Współpraca z Apache za pomocą mod_WSGI
• mod_wsgi – moduł stworzony przez Grahama
Dumpletona – dostarcza interfesju WSGI do obsługi
aplikacji webowych opartych na Pythonie 2.3+ pod Apache
• Wspiera Pythona 2.6+ i 3.1

• Alternatywa dla mod_python, CGI, FastCGI
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Projekt
Projekt – „kontener” dla zbioru aplikacji, umożliwiający ich
współdziałanie
$ django-admin startproject my_project

my_project/
manage.py
my_project/
__init__.py
settings.py
urls.py
wsgi.py
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Projekt
Projekt – „kontener” dla zbioru aplikacji, umożliwiający ich
współdziałanie
$ django-admin startproject my_project

my_project/
manage.py
my_project/
__init__.py
settings.py
urls.py
wsgi.py
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Projekt
# Django settings for my_project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
('Kaja Milanowska', 'kaja.milanowska@vitainsilica.pl'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'sqlite3' or 'oracle'.
'NAME': 'microtoolbox_db',
sqlite3.
'USER': 'liriela',
'PASSWORD': 'micro1234db',
'HOST': '150.254.120.209',
used with sqlite3.
'PORT': '3306',
used with sqlite3.
}
}

# Add 'postgresql_psycopg2', 'mysql',
# Or path to database file if using
# Not used with sqlite3.
# Not used with sqlite3.
# Set to empty string for localhost. Not
# Set to empty string for default. Not

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Projekt

Serwer deweloperski
$ python manage.py runserver
Validating models...
0 errors found
Django version 1.4.1, using settings
'my_blog.settings'
Development server is running at
http://127.0.0.1:8000/
Quit the server with CONTROL-C.

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Projekt
W praktyce: Aplikacja

Aplikacja
$ django-admin.py startapp app
my_project/
…
app/
__init__.py
models.py
tests.py
views.py
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Aplikacja

Aplikacja
$ django-admin.py startapp app
my_project/
…
app/
__init__.py
models.py
tests.py
views.py
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Model
Model
# -*- coding: utf-8 -*__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl'
from django.db import models
class Reagent(models.Model):
name = models.CharField(max_length=60)
description = models.TextField()
created = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.name

Baza danych
$ python manage.py syncdb
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Administracja
Panel administracyjny

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Administracja
Panel administracyjny

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Widoki na szablony
Widoki

my_project/
…
app/
__init__.py
models.py
tests.py
views.py
admin.py

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Widoki na szablony
# -*- coding: utf-8 -*__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl'
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.contrib.auth.decorators import login_required
from reagents.models import Reagent
@login_required
def reagents_list(request):
""" shows list of reagents """
all_reagents = Reagent.objects.all().order_by('name')
return render_to_response(
'reagents/reagents_list.html', {'all_reagents' : all_reagents,},
context_instance=RequestContext(request),
)
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Ćwiczenia: Widoki na szablony
# -*- coding: utf-8 -*__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl'
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.contrib.auth.decorators import login_required
from reagents.models import Reagent
@login_required
def reagents_list(request):
""" shows list of reagents """
all_reagents = Reagent.objects.all().order_by('name')
return render_to_response(
'reagents/reagents_list.html', {'all_reagents' : all_reagents,},
context_instance=RequestContext(request),
)
©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Adresy stron

my_project/
…
manage.py
urls.py
app/
__init__.py
models.py
tests.py
views.py
admin.py
templates/

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Adresy stron

my_project/
…
manage.py
# -*- coding: utf-8 -*settings.py
__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl'
urls.py
from django.conf.urls import patterns, url
app/
urlpatterns = patterns('reagents.views',
__init__.py
url(r'^reagents/', 'reagents_list', name='reagents_list'),
models.py
)
tests.py
views.py
admin.py

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
W praktyce: Wynik
http://127.0.0.1:8000/reagents/

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django-powered
http://www.mozilla.org

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django-powered
http://instagram.com

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Django-powered
http://pinterest.com

©Wszystkie prawa zastrzeżone

VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las
NIP: 9721237412 REGON: 301973876 KRS: 0000415392

www.vitainsilica.pl
office@vitainsilica.pl
Dziękuję
za uwagę


Mais conteúdo relacionado

Mais de Geek Girls Carrots Poznan

Zuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie Games
Zuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie GamesZuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie Games
Zuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie GamesGeek Girls Carrots Poznan
 
Agnieszka Gonczar, Usability w płatnościach online
Agnieszka Gonczar, Usability w płatnościach onlineAgnieszka Gonczar, Usability w płatnościach online
Agnieszka Gonczar, Usability w płatnościach onlineGeek Girls Carrots Poznan
 
Justyna Walkowska, Semantic Web - technologia w rękach humanistów
Justyna Walkowska, Semantic Web - technologia w rękach humanistówJustyna Walkowska, Semantic Web - technologia w rękach humanistów
Justyna Walkowska, Semantic Web - technologia w rękach humanistówGeek Girls Carrots Poznan
 
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowaniaBogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowaniaGeek Girls Carrots Poznan
 
Katarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programistyKatarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programistyGeek Girls Carrots Poznan
 
Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość
Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość
Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość Geek Girls Carrots Poznan
 
Magdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UX
Magdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UXMagdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UX
Magdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UXGeek Girls Carrots Poznan
 
Prostota i użyteczność / Katarzyna Stefańska
Prostota i użyteczność / Katarzyna StefańskaProstota i użyteczność / Katarzyna Stefańska
Prostota i użyteczność / Katarzyna StefańskaGeek Girls Carrots Poznan
 

Mais de Geek Girls Carrots Poznan (17)

Ewa Bielska: Testowanie aplikacji mobilnych
Ewa Bielska: Testowanie aplikacji mobilnychEwa Bielska: Testowanie aplikacji mobilnych
Ewa Bielska: Testowanie aplikacji mobilnych
 
Iza Gozdzieniak, Kanban
Iza Gozdzieniak, KanbanIza Gozdzieniak, Kanban
Iza Gozdzieniak, Kanban
 
Joanna Kasprzak, dlaczego ja?
Joanna Kasprzak, dlaczego ja? Joanna Kasprzak, dlaczego ja?
Joanna Kasprzak, dlaczego ja?
 
Ewa Gowin Agile vs lean
Ewa Gowin Agile vs leanEwa Gowin Agile vs lean
Ewa Gowin Agile vs lean
 
Zuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie Games
Zuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie GamesZuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie Games
Zuzanna Zagórska & Maciej Śliżewski, Kickstarting Indie Games
 
Agnieszka Gonczar, Usability w płatnościach online
Agnieszka Gonczar, Usability w płatnościach onlineAgnieszka Gonczar, Usability w płatnościach online
Agnieszka Gonczar, Usability w płatnościach online
 
Justyna Walkowska, Semantic Web - technologia w rękach humanistów
Justyna Walkowska, Semantic Web - technologia w rękach humanistówJustyna Walkowska, Semantic Web - technologia w rękach humanistów
Justyna Walkowska, Semantic Web - technologia w rękach humanistów
 
Bartek Dziamski - Kawaskrypty dom marchewki
Bartek Dziamski - Kawaskrypty dom marchewkiBartek Dziamski - Kawaskrypty dom marchewki
Bartek Dziamski - Kawaskrypty dom marchewki
 
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowaniaBogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
 
Katarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programistyKatarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programisty
 
Marysia Mucha, Trendwtching
Marysia Mucha, TrendwtchingMarysia Mucha, Trendwtching
Marysia Mucha, Trendwtching
 
Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość
Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość
Joanna Lempart, E-commerce w Polsce – landscape i perspektywa na przyszłość
 
Eliza Oleradzka, Adrenalina w IT
Eliza Oleradzka, Adrenalina w ITEliza Oleradzka, Adrenalina w IT
Eliza Oleradzka, Adrenalina w IT
 
Marta Konieczna, Coś niecoś o energetyce
Marta Konieczna, Coś niecoś o energetyceMarta Konieczna, Coś niecoś o energetyce
Marta Konieczna, Coś niecoś o energetyce
 
Magdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UX
Magdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UXMagdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UX
Magdalena Nowak - Psychologia w IT i projektowanie doświadczeń, UX
 
Prostota i użyteczność / Katarzyna Stefańska
Prostota i użyteczność / Katarzyna StefańskaProstota i użyteczność / Katarzyna Stefańska
Prostota i użyteczność / Katarzyna Stefańska
 
Architektura rest
Architektura restArchitektura rest
Architektura rest
 

Kaja Milanowska, Django

  • 1. Python i Django, a programowanie aplikacji webowych. Kaja Milanowska ©Wszystkie prawa zastrzeżone
  • 2. Chwilka na autoreklamę Sp. z o. o. – Bioinformatics for Science VitaInSilica to jedna z nielicznych w Polsce firm skupiających specjalistów z bioinformatyki, biologii molekularnej, biotechnologii i IT. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 3. Nasz zespół Dr Joanna Kasprzak Anna Philips Dr Anna Czerwoniec Dr Tomasz Puton Kaja Milanowska VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 ©Wszystkie prawa zastrzeżone www.vitainsilica.pl office@vitainsilica.pl
  • 4. Czym się zajmujemy Konsultacje Naukowe w Zakresie Bioinformatyki • • • • Bioinformatyka strukturalna Modelowanie molekularne Analizy sekwencji biologicznych Biostatystyka i filogenetyka Rozwój Oprogramowania Bioinformatycznego • • • • Systemy bazodanowe Zautomatyzowany przepływ danych Zarządzanie danymi w laboratorium Programy i skrypty wspomagające analizy biologiczne i biomedyczne Dobra Szkoła Bioinformatyki • • • • Różne zagadnienia bioinformatyczne Zastosowanie narzędzi bioinformatycznych Języki programowania Biostatystyka ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 5. Słowem wstępu ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 6. Słowem wstępu 1. Skryptuj! ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 7. Słowem wstępu 1. Skryptuj! Języki skrytpowe. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 8. Słowem wstępu 1. Skryptuj! Języki skrytpowe. Python ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 9. Słowem wstępu 1. Skryptuj! Języki skrytpowe. Python 2. Wyjdź do ludzi! ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 10. Słowem wstępu 1. Skryptuj! Języki skrytpowe. Python 2. Wyjdź do ludzi! Frameworki webowe. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 11. Słowem wstępu 1. Skryptuj! Języki skrytpowe. Python 2. Wyjdź do ludzi! Frameworki webowe. Django ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 12. Skryptuj! Języki skryptowe. • Języki programowania służące do kontrolowania danej aplikacji • Interpretowane - zaprojektowane z myślą o interakcji z użytkownikiem. • Skrypty powłoki systemów uniksowych oraz narzędzi administracyjnych • Osadzane w różnych programach - zapewniają możliwość zautomatyzowania powtarzających się czynności. (pakiet Microsoft Office wyposażony jest w osadzony interpreter języka Visual Basic for Applications (VBA)). • Swoje języki skryptowe mają też inne profesjonalne narzędzia edycyjne, jak AutoCAD czy 3D Studio Max ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 13. Skryptuj! Języki skryptowe. • Interpretery języków skryptowych są wykorzystywane przez serwery WWW do serwowania dynamicznych stron internetowych (np. przez interfejs CGI lub dodatkowe funkcjonalności serwera Apache) m.in. PHP, Perl, Python i Ruby • Są też osadzane w grach komputerowych – sterowanie przebiegiem gry – fabułą, dialogami, zachowaniem wirtualnych postaci, a czasem nawet do sterowania działaniem całego interfejsu graficznego Niektóre z języków określanych jako skryptowe: • Python • Awk • bash • JavaScript • Perl • PHP • Ruby • Tcl ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 14. Skryptuj! Języki skryptowe. Python. • Dwie główne wersje standardowej (C) implementacji: • 2.x (najbardziej popularna) • 3.x • Kod czyta / piszę się łatwo i przyjemnie  • Problem z kompilacją z głowy! • Automatyczna dealokacja pamięci • Rozbudowana dokumentacja! • Dostępność wielu bibliotek i rozszerzeń • Duża i aktywna społeczność (http://python.org) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 15. Skryptuj! Języki skryptowe. Python. Ulubiony przykład! $ ipython >>> print 'Hello World!' Hello World! >>> print('Witaj świecie!') Witaj świecie! ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 16. Skryptuj! Języki skryptowe. Python. Prosta klasa: class Pet(object): ””” ””” def __init__(self, name, species): self.name = name self.species = species def getName(self): return self.name def getSpecies(self): return self.species def __str__(self): return "%s is a %s." % (self.name, self.species) parrot = Pet(’Polly’, ’bird’) print parrot Polly is a bird. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 17. Literatura Python.org – oficjalna strona Python Programming: An Introduction To Computer Science (2nd edition) – J. Zelle Python Programming – M. Lutz Python Essential Reference – D. Beazley Konferencje: EuroPython – http://europython.org/ PyCon UK – http://www.pyconuk.org/ RuPy – http://rupy.eu/
  • 18. Wyjdź do ludzi! Frameworki webowe. • wsparcie rozwoju dynamicznych stron, aplikacji internetowych i serwisów • w większości oparte o model MVC (model-view-controller) • Push-based = „action-based” – „pchają” dane do warstwy widoku, by wygenerować wyniki: Django, Ruby on Rails, Symfony • Pull-based = „composed-based” – zaczynają od wartswy widoku, która „ściąga” wyniki od różnych kontrolerów: Stripes, Lift, Tapestry • Three Tier Organisation – 3 fizyczne warstwy: klient, aplikacja i baza danych ≠ MVC • CMS = Content Management Systems: Joomla, Drupal ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 19. Wyjdź do ludzi! Frameworki webowe. Cechy. • template system – statyczny HTML + część dynamiczna (kod generujący HTML) – może być oparta na kodzie bądź na znacznikach zawartych w HTMLu • ograniczenie ilości kodu – dane do wypełnienia stron mogą pochodzić z bazy danych • język znaczników – niektóre poza zmiennymi dostarczają także proste operacje logiczne • niektóre frameworki dostarczają narzędzi do autentykacji i autoryzacji, nakładki na bazy danych czy narzędzia do tworzenia i zarządzania serwisami • mapowanie URL= przyjazne adresy ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 20. Wyjdź do ludzi! Frameworki webowe. Django. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 21. Wyjdź do ludzi! Frameworki webowe. Django. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 22. Tajniki Django ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 23. Tajniki Django Django, czyli co? ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 24. Tajniki Django Django, czyli co? MTV = MVC ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 25. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 26. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY Technicznie rzecz ujmując ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 27. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY Technicznie rzecz ujmując W praktyce: Projekt, Aplikacja, Model ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 28. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY Technicznie rzecz ujmując W praktyce: Projekt, Aplikacja, Model W praktyce: Administracja ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 29. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY Technicznie rzecz ujmując W praktyce: Projekt, Aplikacja, Model W praktyce: Administracja W praktyce: Widoki na szablony ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 30. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY Technicznie rzecz ujmując W praktyce: Projekt, Aplikacja, Model W praktyce: Administracja W praktyce: Widoki na szablony W praktyce: Adresy stron ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 31. Tajniki Django Django, czyli co? MTV = MVC Pozostań DRY Technicznie rzecz ujmując W praktyce: Projekt, Aplikacja, Model W praktyce: Administracja W praktyce: Widoki na szablony W praktyce: Adresy stron Django-powered ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 32. Django, czyli co? ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 33. Django, czyli co? wysokopoziomowy, opensource'owy framework ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 34. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 35. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych napisany w Pythonie ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 36. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych napisany w Pythonie stworzony w 2003 przez grupę programistów związanych z Lawrence Journal-World ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 37. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych napisany w Pythonie stworzony w 2003 przez grupę programistów związanych z Lawrence Journal-World w 2005 roku wydany na licencji BSD ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 38. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych napisany w Pythonie stworzony w 2003 przez grupę programistów związanych z Lawrence Journal-World w 2005 roku wydany na licencji BSD opiera się na wzorcu projektowym podobnym do MVC nazywanym MVT (Model-View-Template) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 39. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych napisany w Pythonie stworzony w 2003 przez grupę programistów związanych z Lawrence Journal-World w 2005 roku wydany na licencji BSD opiera się na wzorcu projektowym podobnym do MVC nazywanym MVT (Model-View-Template) nazwa od imienia gitarzysty Django Reinhardta ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 40. Django, czyli co? wysokopoziomowy, opensource'owy framework przeznaczony do tworzenia aplikacji internetowych napisany w Pythonie stworzony w 2003 przez grupę programistów związanych z Lawrence Journal-World w 2005 roku wydany na licencji BSD opiera się na wzorcu projektowym podobnym do MVC nazywanym MVT (Model-View-Template) nazwa od imienia gitarzysty Django Reinhardta ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 41. I jeszcze więcej charakterystyki. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 42. I jeszcze więcej charakterystyki. Automatycznie generowany i kompletny panel administracyjny, ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 43. I jeszcze więcej charakterystyki. Automatycznie generowany i kompletny panel administracyjny, Przyjazne adresy dokumentów ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 44. I jeszcze więcej charakterystyki. Automatycznie generowany i kompletny panel administracyjny, Przyjazne adresy dokumentów Prosty lecz funkcjonalny system szablonów ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 45. I jeszcze więcej charakterystyki. Automatycznie generowany i kompletny panel administracyjny, Przyjazne adresy dokumentów Prosty lecz funkcjonalny system szablonów Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu (szablony) oraz baz danych ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 46. I jeszcze więcej charakterystyki. Automatycznie generowany i kompletny panel administracyjny, Przyjazne adresy dokumentów Prosty lecz funkcjonalny system szablonów Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu (szablony) oraz baz danych Wsparcie dla wielojęzycznych aplikacji ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 47. I jeszcze więcej charakterystyki. Automatycznie generowany i kompletny panel administracyjny, Przyjazne adresy dokumentów Prosty lecz funkcjonalny system szablonów Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu (szablony) oraz baz danych Wsparcie dla wielojęzycznych aplikacji Bardzo duża skalowalność i wydajność ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 48. I jeszcze więcej charakterystyki. Przyjazne adresy dokumentów Prosty lecz funkcjonalny system szablonów Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu (szablony) oraz baz danych Wsparcie dla wielojęzycznych aplikacji Bardzo duża skalowalność i wydajność Wydajne systemy cache'owania, obsługa Memcached ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 49. I jeszcze więcej charakterystyki. Własny, prosty serwer do testowania aplikacji Prosty lecz funkcjonalny system szablonów Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu (szablony) oraz baz danych Wsparcie dla wielojęzycznych aplikacji Bardzo duża skalowalność i wydajność Wydajne systemy cache'owania, obsługa Memcached ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 50. I jeszcze więcej charakterystyki. Własny, prosty serwer do testowania aplikacji Współpraca z Apache poprzez WSGI (domyślnie) i mod_python oraz z innymi serwerami Oddzielenie logiki aplikacji (widok) logiki biznesowej (model) wyglądu (szablony) oraz baz danych Wsparcie dla wielojęzycznych aplikacji Bardzo duża skalowalność i wydajność Wydajne systemy cache'owania, obsługa Memcached ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 51. I jeszcze więcej charakterystyki. Własny, prosty serwer do testowania aplikacji Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz z innymi serwerami DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia aplikacji Wsparcie dla wielojęzycznych aplikacji Bardzo duża skalowalność i wydajność Wydajne systemy cache'owania, obsługa Memcached ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 52. I jeszcze więcej charakterystyki. Własny, prosty serwer do testowania aplikacji Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz z innymi serwerami DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia aplikacji Posiada ORM wysokiego poziomu pozwalający na łatwe i bezpieczne operowania na bazach danych bez użycia SQL Bardzo duża skalowalność i wydajność Wydajne systemy cache'owania, obsługa Memcached ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 53. I jeszcze więcej charakterystyki. Własny, prosty serwer do testowania aplikacji Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz z innymi serwerami DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia aplikacji Posiada ORM wysokiego poziomu pozwalający na łatwe i bezpieczne operowania na bazach danych bez użycia SQL Obsługuje następujące bazy danych: PostgreSQL, MySQL, SQLite oraz Oracle Wydajne systemy cache'owania, obsługa Memcached ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 54. I jeszcze więcej charakterystyki. Własny, prosty serwer do testowania aplikacji Współpraca z Apache poprzez WSGI (domyślnie) i mod python oraz z innymi serwerami DRY czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia aplikacji Posiada ORM wysokiego poziomu pozwalający na łatwe i bezpieczne operowania na bazach danych bez użycia SQL Obsługuje następujące bazy danych: PostgreSQL, MySQL, SQLite oraz Oracle djangoproject.com. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 55. Literatura DjangoProject – Oficjalna strona Django DjangoBook – Darmowa książka o Django Django.pl – Polska społeczność Django Python Web Development with Django – Forcier, Bissex, Chun DjangoCon – 2 razy w roku (raz w Europie – maj/czerwiec, raz w Stanach – wrzesień) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 56. MTV = MVC ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 57. MTV = MVC MVC - Model View Cotroller - MTV - Model Template View ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 58. MTV = MVC MVC - Model View Cotroller - MTV - Model Template View Model = Model – klasa Python’a definiująca tabele w bazie danych (pewna reprezentacja problemu bądź logiki aplikacji) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 59. MTV = MVC MVC - Model View Cotroller - MTV - Model Template View Model = Model – klasa Pythona definiująca tabele w bazie danych (pewna reprezentacja problemu bądź logiki aplikacji) Template = View – Wzorzec, czyli informacja jak wyświetlić dane na stronie (HTML + znaczniki) (opisuje, jak wyświetlić pewną część modelu w ramach interfejsu użytkownika) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 60. MTV = MVC MVC - Model View Cotroller - MTV - Model Template View Model = Model – klasa Pythona definiująca tabele w bazie danych (pewna reprezentacja problemu bądź logiki aplikacji) Template = View – Wzorzec, czyli informacja jak wyświetlić dane na stronie (HTML + znaczniki) (opisuje, jak wyświetlić pewną część modelu w ramach interfejsu użytkownika) Views = Controller – funkcje Python’owe operujące na danych (przyjmuje dane wejściowe od użytkownika i reaguje na jego poczynania, zarządzając aktualizacje modelu oraz odświeżenie widoków) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 61. MTV = MVC ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 62. Pozostań DRY ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 63. Pozostań DRY Zasada DRY (ang. Don't Repeat Yourself): ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 64. Pozostań DRY Zasada DRY (ang. Don't Repeat Yourself): Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 65. Pozostań DRY Zasada DRY (ang. Don't Repeat Yourself): Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. vs. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 66. Pozostań DRY Zasada DRY (ang. Don't Repeat Yourself): Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. vs. WET ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 67. Pozostań DRY Zasada DRY (ang. Don't Repeat Yourself): Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. vs. WET We Edit Terribly, Tumultuously, Tempestuously, Tenaciously, Too much, Timidly, Tortuously, Terrifiedly... ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 68. Pozostań DRY Zasada DRY (ang. Don't Repeat Yourself): Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. vs. WET We Edit Terribly, Tumultuously, Tempestuously, Tenaciously, Too much, Timidly, Tortuously, Terrifiedly... "We Enjoy Typing" ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 69. Technicznie Instalacja i konfiguracja Django. → djangoproject.com Współpraca z Apache za pomocą mod_WSGI • mod_wsgi – moduł stworzony przez Grahama Dumpletona – dostarcza interfesju WSGI do obsługi aplikacji webowych opartych na Pythonie 2.3+ pod Apache • Wspiera Pythona 2.6+ i 3.1 • Alternatywa dla mod_python, CGI, FastCGI ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 70. W praktyce: Projekt Projekt – „kontener” dla zbioru aplikacji, umożliwiający ich współdziałanie $ django-admin startproject my_project my_project/ manage.py my_project/ __init__.py settings.py urls.py wsgi.py ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 71. W praktyce: Projekt Projekt – „kontener” dla zbioru aplikacji, umożliwiający ich współdziałanie $ django-admin startproject my_project my_project/ manage.py my_project/ __init__.py settings.py urls.py wsgi.py ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 72. W praktyce: Projekt # Django settings for my_project. DEBUG = True TEMPLATE_DEBUG = DEBUG ADMINS = ( ('Kaja Milanowska', 'kaja.milanowska@vitainsilica.pl'), ) MANAGERS = ADMINS DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'sqlite3' or 'oracle'. 'NAME': 'microtoolbox_db', sqlite3. 'USER': 'liriela', 'PASSWORD': 'micro1234db', 'HOST': '150.254.120.209', used with sqlite3. 'PORT': '3306', used with sqlite3. } } # Add 'postgresql_psycopg2', 'mysql', # Or path to database file if using # Not used with sqlite3. # Not used with sqlite3. # Set to empty string for localhost. Not # Set to empty string for default. Not ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 73. W praktyce: Projekt Serwer deweloperski $ python manage.py runserver Validating models... 0 errors found Django version 1.4.1, using settings 'my_blog.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 75. W praktyce: Aplikacja Aplikacja $ django-admin.py startapp app my_project/ … app/ __init__.py models.py tests.py views.py ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 76. W praktyce: Aplikacja Aplikacja $ django-admin.py startapp app my_project/ … app/ __init__.py models.py tests.py views.py ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 77. W praktyce: Model Model # -*- coding: utf-8 -*__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl' from django.db import models class Reagent(models.Model): name = models.CharField(max_length=60) description = models.TextField() created = models.DateTimeField(auto_now_add=True) def __unicode__(self): return self.name Baza danych $ python manage.py syncdb ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 78. W praktyce: Administracja Panel administracyjny ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 79. W praktyce: Administracja Panel administracyjny ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 80. W praktyce: Widoki na szablony Widoki my_project/ … app/ __init__.py models.py tests.py views.py admin.py ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 81. W praktyce: Widoki na szablony # -*- coding: utf-8 -*__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl' from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.contrib.auth.decorators import login_required from reagents.models import Reagent @login_required def reagents_list(request): """ shows list of reagents """ all_reagents = Reagent.objects.all().order_by('name') return render_to_response( 'reagents/reagents_list.html', {'all_reagents' : all_reagents,}, context_instance=RequestContext(request), ) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 82. Ćwiczenia: Widoki na szablony # -*- coding: utf-8 -*__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl' from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.contrib.auth.decorators import login_required from reagents.models import Reagent @login_required def reagents_list(request): """ shows list of reagents """ all_reagents = Reagent.objects.all().order_by('name') return render_to_response( 'reagents/reagents_list.html', {'all_reagents' : all_reagents,}, context_instance=RequestContext(request), ) ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 83. W praktyce: Adresy stron my_project/ … manage.py urls.py app/ __init__.py models.py tests.py views.py admin.py templates/ ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 84. W praktyce: Adresy stron my_project/ … manage.py # -*- coding: utf-8 -*settings.py __author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl' urls.py from django.conf.urls import patterns, url app/ urlpatterns = patterns('reagents.views', __init__.py url(r'^reagents/', 'reagents_list', name='reagents_list'), models.py ) tests.py views.py admin.py ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 85. W praktyce: Wynik http://127.0.0.1:8000/reagents/ ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 86. Django-powered http://www.mozilla.org ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 87. Django-powered http://instagram.com ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl
  • 88. Django-powered http://pinterest.com ©Wszystkie prawa zastrzeżone VitaInSilica Sp. z o. o., ul. Krzemowa 1, Złotniki, 62-002 Suchy Las NIP: 9721237412 REGON: 301973876 KRS: 0000415392 www.vitainsilica.pl office@vitainsilica.pl