ht15, da354a - introduktion till webbprogrammering - bottle (2)

16
Python: Bottle Att bygga dynamiska webbplatser

Upload: anton-tibblin

Post on 20-Mar-2017

590 views

Category:

Education


0 download

TRANSCRIPT

Page 1: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Python: BottleAtt bygga dynamiska webbplatser

Page 2: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Dagens agenda• Demo på vad vi ska bygga• Bygga webbsidor med Python• Webbserver med Python• Server => Python• Klient => HTML/CSS• Bottle som mikroramverk• Vad är ett mikroramverk?• Routes => Funktioner• Bygga vår webbplats

Page 3: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

En webbserver är antingen ett datorprogram som

tillhandahåller webbsidor för en viss webbplats eller en serverdator på

vilken sådan programvara körs.

I vårt fall ett datorprogram – skrivet i Python

Page 4: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Webbserver• Ett webbserverprogram har som uppgift att

tillhandahålla webbsidor och andra filer via datakommunikationsprotokollet HTTP eller HTTPS, vanligen över Internet.

• Det förekommer också att en enskild användare kör en webbserver för eget lokalt bruk på sin egen dator. Vanligen kommunicerar användaren med webbservern med hjälp av en webbläsare.

• Användaren väljer webbsidor och webbläsaren beställer webbsidorna från webbservern och visar dem på användarens datorskärm. Webbläsaren är klient till webbservern.

Page 5: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Internet

Förfrågan

Svar

Klient

Klient

Server

Page 6: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

No place like 127.0.0.1, there is

Page 7: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)
Page 8: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Mikroramverk• En samling funktioner för att bygga webbplatser, med fokus på• Snabbt• Smidigt• Resurssnålt• Exempel på mikroramverk• Bottle (Python)• Flask (Python)• Slim (PHP)• Silex (PHP)• Camping (Ruby)• Sinatra (Ruby)

Page 9: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Bottle – Ett mikroramverk i Python• Bottle har många inbyggda funktioner, men fokuserar på:• Routing Mappa URL:r mot funktioner• Templates Skapa mallar (HTML) för att presentera innehåll• Utilities Tillgång till data, ladda upp filer, cookies, HTTP-möjligheter,

m.m.• Server Inklulderar en inbyggd HTTP-server

• Bottle är endast en enda fil• Bottle använder bara standard-biblioteket för Python

• Man installera bottle genom PIP, easy_install, eller laddar hem py-filen.

Page 10: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Bottle - Routes• Vi vill kunna mappa URL till olika funktioner i Python• /home => def home():• /contact => def contact():• /about => def about():

127.0.0.1/homeStarwarsvote.com/homeThedarkside.com/home

Page 11: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Templates -Mallar för vår information

Join the dark side, we have the prettiest web sites!

Page 12: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Bottle - Templates• Templates är mallar för hur vi ska presentera vår information• HTML• CSS• JavaScript

• Vi kan skicka data (bearbetad utav Python) till våra malla för att skapa dynamiska webbsidor

Page 13: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Bottle – Templates och statiska filer• Alla templates ska:• Ligga i mappen ”view”• Ha filendelsen *.tpl

• Statiska filer (bilder, css, js, etc.) ska:• Ligga i mappen ”static”

Page 14: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Routes Funktioner Templates

Server

Klient

Page 15: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Vi kör en ny demo

Page 16: HT15, DA354A - Introduktion till Webbprogrammering - Bottle (2)

Flödesschema

Läs in textfilens innehåll

Tolka JSON-data till ett

lexikon

Skriv ut imperiets

röster

Skriv ut Rebellers

röster

Skicka röster till template

Webbsida på internet