Kaja Milanowska, Django

Post on 12-May-2015

958 views 1 download

Transcript of Kaja Milanowska, Django

Python i Django, a programowanie aplikacji webowych.

Kaja Milanowska

©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

©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.

Nasz zespół

Dr Joanna Kasprzak

Dr Anna Czerwoniec

Dr Tomasz Puton

Kaja Milanowska

Anna Philips

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

©Wszystkie prawa zastrzeżone

Konsultacje Naukowe w

Zakresie Bioinformatyki

• Systemy bazodanowe

• Zautomatyzowany

przepływ danych

• Zarządzanie danymi w

laboratorium

• Programy i skrypty

wspomagające

analizy biologiczne i

biomedyczne

• Bioinformatyka

strukturalna

• Modelowanie

molekularne

• Analizy sekwencji

biologicznych

• Biostatystyka i

filogenetyka

Rozwój

Oprogramowania

Bioinformatycznego

Dobra Szkoła

Bioinformatyki

• Różne zagadnienia

bioinformatyczne

• Zastosowanie narzędzi

bioinformatycznych

• Języki programowania

• Biostatystyka

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

©Wszystkie prawa zastrzeżone

Czym się zajmujemy

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

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

1. Skryptuj!

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

1. Skryptuj!

Języki skrytpowe.

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

1. Skryptuj!

Języki skrytpowe.

Python

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

1. Skryptuj!

Języki skrytpowe.

Python

2. Wyjdź do ludzi!

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

1. Skryptuj!

Języki skrytpowe.

Python

2. Wyjdź do ludzi!

Frameworki webowe.

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

1. Skryptuj!

Języki skrytpowe.

Python

2. Wyjdź do ludzi!

Frameworki webowe.

Django

©Wszystkie prawa zastrzeżone

Słowem wstępu

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

Skryptuj!

Języki skryptowe.

Niektóre z języków określanych jako skryptowe:

• Python

• Awk

• bash

• JavaScript

• Perl

• PHP

• Ruby

• Tcl

• 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

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

©Wszystkie prawa zastrzeżone

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)

Ulubiony przykład!

$ ipython

>>> print 'Hello World!'

Hello World!

>>> print('Witaj świecie!')

Witaj świecie!

Skryptuj!

Języki skryptowe. Python.

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

©Wszystkie prawa zastrzeżone

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.

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

©Wszystkie prawa zastrzeżone

Skryptuj!

Języki skryptowe. Python.

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/

Literatura

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

Wyjdź do ludzi!

Frameworki webowe. Django.

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

©Wszystkie prawa zastrzeżone

Wyjdź do ludzi!

Frameworki webowe. Django.

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

©Wszystkie prawa zastrzeżone

Django, czyli co?

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

wysokopoziomowy, opensource'owy framework

©Wszystkie prawa zastrzeżone

Django, czyli co?

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

wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

©Wszystkie prawa zastrzeżone

Django, czyli co?

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

wysokopoziomowy, opensource'owy framework

przeznaczony do tworzenia aplikacji internetowych

napisany w Pythonie

©Wszystkie prawa zastrzeżone

Django, czyli co?

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

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

Django, czyli co?

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

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

Django, czyli co?

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

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

Django, czyli co?

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

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

Django, czyli co?

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

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

Django, czyli co?

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

©Wszystkie prawa zastrzeżone

I jeszcze więcej charakterystyki.

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

©Wszystkie prawa zastrzeżone

I jeszcze więcej charakterystyki.

Automatycznie generowany i kompletny panel administracyjny,

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

©Wszystkie prawa zastrzeżone

I jeszcze więcej charakterystyki.

Automatycznie generowany i kompletny panel administracyjny,

Przyjazne adresy dokumentów

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

©Wszystkie prawa zastrzeżone

I jeszcze więcej charakterystyki.

Automatycznie generowany i kompletny panel administracyjny,

Przyjazne adresy dokumentów

Prosty lecz funkcjonalny system szablonów

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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ść

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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

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

©Wszystkie prawa zastrzeżone

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ń)

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

©Wszystkie prawa zastrzeżone

MTV = MVC

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

MVC - Model View Cotroller - MTV - Model Template View

©Wszystkie prawa zastrzeżone

MTV = MVC

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

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

MTV = MVC

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

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

MTV = MVC

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

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

MTV = MVC

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

©Wszystkie prawa zastrzeżone

MTV = MVC

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

©Wszystkie prawa zastrzeżone

Pozostań DRY

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

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

©Wszystkie prawa zastrzeżone

Pozostań DRY

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

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

Pozostań DRY

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

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

Pozostań DRY

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

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

Pozostań DRY

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

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

Pozostań DRY

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

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

Pozostań DRY

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

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

Technicznie

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

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

W praktyce: Projekt

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

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

W praktyce: Projekt

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

©Wszystkie prawa zastrzeżone

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', # Add 'postgresql_psycopg2', 'mysql',

'sqlite3' or 'oracle'.

'NAME': 'microtoolbox_db', # Or path to database file if using

sqlite3.

'USER': 'liriela', # Not used with sqlite3.

'PASSWORD': 'micro1234db', # Not used with sqlite3.

'HOST': '150.254.120.209', # Set to empty string for localhost. Not

used with sqlite3.

'PORT': '3306', # Set to empty string for default. Not

used with sqlite3.

}

}

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

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

W praktyce: Projekt

W praktyce: Projekt

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

Aplikacja $ django-admin.py startapp app

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

©Wszystkie prawa zastrzeżone

W praktyce: Aplikacja

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

Aplikacja $ django-admin.py startapp app

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

©Wszystkie prawa zastrzeżone

W praktyce: Aplikacja

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

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

W praktyce: Model

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

Panel administracyjny

©Wszystkie prawa zastrzeżone

W praktyce: Administracja

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

Panel administracyjny

©Wszystkie prawa zastrzeżone

W praktyce: Administracja

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

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

©Wszystkie prawa zastrzeżone

W praktyce: Widoki na szablony

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

©Wszystkie prawa zastrzeżone

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), )

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

©Wszystkie prawa zastrzeżone

Ć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), )

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

my_project/ … manage.py urls.py app/ __init__.py models.py tests.py views.py admin.py templates/ ©Wszystkie prawa zastrzeżone

W praktyce: Adresy stron

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

my_project/ … manage.py settings.py urls.py app/ __init__.py models.py tests.py views.py admin.py ©Wszystkie prawa zastrzeżone

W praktyce: Adresy stron

# -*- coding: utf-8 -*-

__author__ = 'Kaja Milanowska kaja.milanowska@vitainsilica.pl'

from django.conf.urls import patterns, url

urlpatterns = patterns('reagents.views',

url(r'^reagents/', 'reagents_list', name='reagents_list'),

)

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

©Wszystkie prawa zastrzeżone

W praktyce: Wynik

http://127.0.0.1:8000/reagents/

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

©Wszystkie prawa zastrzeżone

Django-powered

http://www.mozilla.org

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

©Wszystkie prawa zastrzeżone

Django-powered

http://instagram.com

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

©Wszystkie prawa zastrzeżone

Django-powered

http://pinterest.com

Dziękuję za uwagę