16. Dagens agenda
• Demo på vad vi ska bygga
• Bygga webbsidor med Python
• Hur fungerar en webbserver?
• Webbserver med Python
• Server => Python
• Klient => HTML/CSS
• Bottle som mikroramverk
• Vad är ett mikroramverk?
• Routes => Funktioner
• Bygga vår webbplats
20. 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.
23. Webbserver
• Ett webbserverprogram har som uppgift att tillhandahålla
webbsidor och andra filer via protokollet 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.
36. Men – hur mycket Python var
detta egentligen?
Feel the power of the server side!
40. Vad kan vi hittills?
DA106A - Webbutveckling
• Skapa webbsidor genom:
• HTML
• CSS
• (JavaScript)
Vad behöver vi lära oss? => Bygga en webbtjänst!
DA354A - Programmering
• Programmera i Python
• Variabler
• Datatyper
• Funktioner
• Filhantering
• Felhantering
• JSON
• M.m.
41. “Oh, my dear friend.
How I’ve missed you.”
- C-3PO
74. Templates – Mallar i HTML
Join the dark side, we have the prettiest web sites!
75. 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
76. Bottle – Templates och statiska filer
•Alla templates ska:
• Ligga i mappen ”views”
• Ha filändelsen *.tpl eller *.html
•Statiska filer (bilder, css, js, etc.) ska:
• Ligga i mappen ”static”
82. Nu till vårt projekt
“There’s always a bigger fish.”
- Qui-Gon Jinn
84. Routes => Vilka behöver vi?
Route Syfte Metod Template
/ Till vår startsida GET index
/vote Rösta på en sida POST index
/disqus Visa gästbok GET disqus
/new-post Skriv ett inlägg POST disqus
*error404* En sida som ej finns Alla error
BONUS!
88. Röstningen
• Spara alla röster i filen ”votes.json”
• Spara rösterna som JSON-format, enligt mallen:
{
"empire": 0,
"rebels": 0
}
• Vi kan omvandla lexikon i Python till JSON genom:
• json_votes = json.dumps(votes)
• Vi kan omvandla JSON till Python-datatyper genom:
• votes = json.loads(json_votes)