Django Urls, views, templates

Podobné dokumenty
Django, 2. cvičení url, views, templates. Úvod

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

DUM 06 téma: Tvorba makra pomocí VBA

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

17. července :51 z moravec@yahoo.com

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

1 Webový server, instalace PHP a MySQL 13

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Semestrální práce 2 znakový strom

1. Webový server, instalace PHP a MySQL 13

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Po stisku Next se nám objeví seznam dostupných tříd (naše zkompilovaná třída User.KBI), viz následující obrázek.

PREZENTACE 1.22 HYPERTEXTOVÉ ODKAZY

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Soubor index.html se nachází na stejné úrovni jako adresář obrazky. Měla bych použít relativní adresu, že? Hmm.

Word Lekce III. a IV.

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

Geis Point Plugin Map

1. Začínáme s FrontPage

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Podrobný návod. Učíme se používat prostředí TwinSpace

PHP a Large Objecty v PostgreSQL

Popis rozšířujících funkcí JScriptu

Jak vytvořit nebo předělat vlastní motiv pro SunLight CMS

Výukový materiál zpracovaný v rámci projektu

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Střední odborná škola a Střední odborné učiliště, Hořovice

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

MODERNÍ WEB SNADNO A RYCHLE

Instalace produktu Ontopia. ver (open-source verze)

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Rychlé nastavení mobilní aplikace Novell Vibe

Návod na práci s redakčním systémem webu VPŠ a SPŠ MV v Praze

REGISTRACE UŽIVATELE

ZMODO NVR KIT. Instalační příručka

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline

Střední odborná škola a Střední odborné učiliště, Hořovice

ZSF web a intranet manuál

Základy PERLu snadno a rychle

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

VYHLEDÁVACÍ BANNER PRO WEBOVÉ STRÁNKY

C2110 Operační systém UNIX a základy programování

NÁVOD NA PŘÍSTUP K SEZNAMU VÝPISŮ A DUPLIKÁTŮ

Střední odborná škola a Střední odborné učiliště, Hořovice

Microsoft. Word. Hromadná korespondence. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie


Michal Augustýn Microsoft Most Valuable Professional

Skripty - úvod. Linux - skripty 2

================================================================================ =====

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze');

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

SOU Valašské Klobouky. VY_32_INOVACE_3_09 IKT PowerPoint Vlozeni_videa Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT

Střední odborná škola a Střední odborné učiliště, Hořovice

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ

Uživatelská příručka. Marushka Photo. aplikace firmy GEOVAP, spol. s r.o.

JEDNODUCHÉ VYTVÁŘENÍ KVÍZŮ NA

Microsoft Office. Word hromadná korespondence

METODICKÝ POKYN PŘIDÁNÍ A PŘEHRÁNÍ VIDEA V PREZENTACI

OUTLOOK ADDIN PRO SYNCHRONIZACI S AKTIVITAMI RAYNET CRM - POUŽITÍ

Mobilní aplikace Novell Filr Stručný úvod

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body

DATABÁZE MS ACCESS 2010

Tvorba webových stránek na google Sites (4.)

SOFTWARE 5P. Instalace. SOFTWARE 5P pro advokátní praxi Oldřich Florian

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

Uživatelský návod pro zpracování geometrických plánů na webu

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

REGISTRACE UŽIVATELE

RELAČNÍ DATABÁZE ACCESS

Zemětřesení a sopečná činnost

ANOTACE vytvořených/inovovaných materiálů

PB071 Úvod do jazyka C

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

1 Tabulky Příklad 3 Access 2010

KIV/ZIS - primární klíč

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

2. Technické požadavky k úpravě materiálů pro umístění ve 2GIS

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Řešení reklamací typu: Změna identifikační parcely stavebního objektu

UniLog-D. v1.01 návod k obsluze software. Strana 1

MANUÁL. Jak používat administraci webových stránek. Obsah ZÁKLAD... 2 ÚPRAVY POLOŽKY... 3 ÚPRAVY TEXTOVÉ STRÁNKY... 4

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.

Programujeme v softwaru Statistica

XML a XSLT. Kapitola seznamuje s šablonami XSLT a jejich použití při transformaci z XML do HTML

Výukový materiál zpracovaný v rámci projektu

Uživatelská dokumentace

Reranking založený na metadatech

Transkript:

Django Urls, views, templates

Django URL Adresa URL je webová adresa, která je vidět v adresním řádku prohlížeče Například 127.0.0.1:8000 nebo https://djangoproject.com V Djangu používáme tzv. URLconf (URL konfiguraci), což je sada vzorů, podle kterých Django zpracuje URL a pokusí se najít správné view

Django URL Každá stránka na internetu potřebuje svou vlastní URL Tímto způsobem aplikace ví, co by měla ukázat uživateli Přepište soubor drivers/urls.py, aby vypadal takto: Django nyní přesměruje vše, co přichází na http://127.0.0.1:8000 do stations/urls.py a hledá zde další instrukce

Django URL Mohli bychom celou URL konfiguraci vložit do drivers/urls.py a vše bude fungovat Ovšem pro lepší přenositelnost, přeneseme URL konfiguraci rovnou do stations/urls.py a v původním URL se na ni budeme pouze odkazovat Vytvořme nový prázdný soubor stations/urls.py a přidejme mapování na naše pohledy (views): Poznámka: po zadání URL stations/hello se zavolá funkce hello ve stations/views s jedním parametrem request

Význam mapování URL na views Po zadání URL adresy http://127.0.0.1:8000/stations/hello se zavolá funkce hello ve skriptu stations/views.py s jedním parametrem request Po zadání URL adresy http://127.0.0.1:8000/stations/company/1 se zavolá funkce company_name ve skriptu stations/views.py s parametry request a company_id = 1

Views View (pohled) = místo, kam píšeme logiku naší aplikace Bude požadovat informace z modelu, který jsme vytvořily dříve, a předá je šabloně View jsou vlastně jen Python funkce, na které jsou mapovány URL adresy Funkce mají jeden povinný parametr request a podle potřeby další (např. klíč objektu) View funkce vrací HttpResponse, který vrátí data nebo vyhodí výjimku

Views Otevřete soubor views.py a vytvořte funkci hello, na kterou odkazuje dříve vytvořená URL adresa Zatím jsme definovali pouze první funkci hello, takže zbylé funkce musíme prozatím ve skriptu stations/urls.py zakomentovat, jinak by došlo při spuštění k chybě Pokud se nyní podíváme na adresu http://127.0.0.1:8000/stations/hello, objeví se stránka s nápisem Hello, World!

Views Otevřete soubor views.py a pod funkci hello přidejte novou funkci company_name Přidali jsme funkci company_name, tudíž se na ni můžeme v url odkazovat Pokud se podíváme na http://127.0.0.1:8000/stations/company/1, tak uvidíme např. Company id: 1 Shell

Vysvětlení funkcí Funkce get_object_or_404() Tato funkce šetří práci a zastupuje následující kód Funkce render() Prvním argumentem je request, tj. vše, co přijímáme od uživatele přes internet Jako druhý argument přijímá jméno šablony a jako třetí (nepovinný) argument slovník Výstupem funkce je objekt HttpResponse s vykreslenou šablonou podle dodaných proměnných

Views V souboru views.py pod funkce hello a company_name přidejte novou funkci company_index Nyní už se můžeme na funkci company_index odkazovat i v url (odkomentujeme ji):

Views Předchozí funkce hello a company_name vrací pouze text Pokud bychom chtěli zajímavěji formátovat text, využijeme html Django odděluje vzhled od kódu, tj. kód načte šablonu (.html) a předá ji obsah Každá view funkce obvykle používá svou šablonu

Template (šablona) Šablona = soubor, který umožňuje zobrazit různé informace ve stejném formátu Následující funkce načítá šablonu company_index.html a předá jí proměnnou companies, obsahující seznam objektů typu Company, který získala předchozím databázovým dotazem

Template (šablona) Šablonu vytvoříme v adresáři stations/templates/stations, kterou nazveme company_index.html a doplníme do ní následující kód: Tímto příkazem {% for company in companies %} iterujeme seznam objektů typu Company Příkaz {company.name} vypíše názvy všech objektů typů Company Příkaz {% for s in company.station_set.all %} iteruje všechny stanice dané společnosti Company Příkaz {s.name} vypíše názvy jednotlivých stanic

Template (šablona) Po spuštění adresy http://127.0.0.1:8000/stations/company_index uvidíte podobnou stránku:

Funkce station_index() Do view.py dopíšeme funkci station_index: Zároveň ji odkomentujeme v urls.py, abychom se na ni mohli odkazovat Po spuštění: Vytvoříme šablonu station_index.html s následujícím kódem:

Pokračování příště Doděláme funkce capacity_search() a station_edit() pomocí formulářů