Zpět na blog

Vytváření pohledů ve webovém aplikačním frameworku Django

Vytváření pohledů ve webovém aplikačním frameworku Django

Django je výkonný, open-source, Python-ový webový framework, který zjednodušuje proces tvorby a správy webových stránek a webových aplikací. Aplikace v Django jsou škálovatelné, vysoce výkonné a bezpečné. Přichází také s opravdu dobrou dokumentací pro každou jednotlivou část frameworku.

V naší sérii o Django, jsme prozkoumávali Django implementací ukázkového webu se základními funkcemi blogu. V tomto návodu si projdeme kroky vytvoření ukázkového pohledu (view) pro naši aplikaci v Django.

Požadavky

Chcete-li postupovat podle tohoto návodu, budete potřebovat následující komponenty.

Tento návod je pokračováním naší série o Django. Nejprve bude užitečné podívat se na předchozí návody na nastavení Django, navázání připojení k databázi v Django, vytváření modelů, a povolení administračního rozhraní Django.

V tomto návodu si ukážeme, jak vytvořit pohledy (views) v Django, které webové aplikaci umožní správně zpracovávat webové požadavky a vracet odpovídající odpovědi. Jak popisuje oficiální dokumentace Django, webovou odpovědí může být HTML obsah webové stránky, přesměrování nebo chyba HTTP. Neexistuje žádné pevné místo pro ukládání funkcí pohledů, pokud jsou v cestách Pythonu. Existují však oblíbené konvence pro pojmenování a umístění souborů. Tento návod se bude těmito konvencemi řídit.

Krok 1. Aktivace virtuálního prostředí

Django se nejlépe provozuje ve virtuálním prostředí Pythonu. Naše aplikace Django sample_app je vytvořena ve vyhrazeném virtuálním prostředí. Nejprve aktivujte virtuální prostředí:

Activate

Krok 2. Vytváření funkcí pohledů

Přejděte do našeho adresáře random_app který hostuje modely pro náš blogový web:

Zde soubor views.py bude obsahovat kódy potřebné pro vytvoření našich pohledů. Otevřete jej v textovém editoru:

Views in Django 1

Potřebujeme funkci render() z knihovny django.shortcuts , takže první řádek zůstává stejný. Funkce render() funkce pomáhá spojit šablonu i kontext, které se mají vrátit jako odpovídající HttpResponse objekt.

První pohled přivítá uživatele, kteří přistanou na úvodní stránce. Budeme muset importovat funkci HttpResponse() z knihovny Django http:

Views in Django Edited Views

Uložte soubor a zavřete editor.

Krok 3. Mapování URL na pohledy

V tuto chvíli není k těmto funkcím přiřazena žádná URL, takže jsou nedostupné. Musíme přidat další blok urlpatterns v konfiguračním souboru URL. V Pythonu se označuje jako soubor URLconf (konfigurace URL).

Django potřebuje určit kořenový modul URLconf , který má použít. Poté se podívá do urlpatterns , které obsahují všechny vzory URL v seznamové struktuře. Django pak prochází soubor, dokud nenajde první shodu. Jakmile najde shodu, Django vyhledá přidružený pohled. Tato funkce pohledu obdrží data související se vzorem URL a objekt HttpRequest . Chyba v jakémkoli bodě tohoto procesu jej přesměruje na pohled pro zpracování chyb.

Otevřete soubor urls.py v random_app v textovém editoru:

 

Zadejte následující kód:

 

Views in Django Urls

Uložte soubor a zavřete editor.

Jakmile to budete mít hotové, budeme muset také zahrnout cestu k souboru URL pod sample_app adresáře URLconf. V opačném případě jej naše aplikace Django nerozpozná. Je to proto, že URLconf aplikace sample_app je nastaven jako ROOT_URLCONF v souboru nastavení.

Přejděte do adresáře naší aplikace sample_app:

change dir

Otevřete soubor urls.py v textovém editoru:

Sample Urls

Do souboru vložte následující kód:

Sample Urls2

Pojďme otestovat naše změny. Spusťte server aplikace Django na localhost:8000:

Views in Django Start Server

Přejděte na URL:

Views in Django Wc Page

Zkontrolujte URL příspěvku:

Post Page

Krok 4. Vytvoření příspěvku na blogu

Nastavili jsme naše vzory URL a prozkoumali jejich fungování. Je čas přidat ukázkový blog a podívat se na výsledek.

V administračním panelu přejděte na random_app stránku:

Views in Django Random Admin Page

Klikněte na odkaz +Add v řádku Posts :

Views in Django Add Post

Na nové webové stránce se zobrazí formulář obsahující následující pole.

  • Title: Název příspěvku na blogu.
  • Slug: Odkazuje na část platné webové adresy s lidsky čitelnými klíčovými slovy. Obecně se slugy vytvářejí z názvu příspěvku.
  • Content: Tělo příspěvku na blogu.
  • Author: Příslušné uživatelské jméno.

Kliknutím na SAVE příspěvek odešlete:

Save Post

Krok 5. Zobrazení dat v databázi

V této další části budeme pracovat s naší databází. Přihlaste se do MySQL jako uživatel vyhrazený pro Django:

Mysql prompt

Ověřme, zda byl náš příspěvek úspěšně zaregistrován v databázi:

Change DB

Select Query

Voila! Příspěvek byl úspěšně zaregistrován! Nyní můžete ukončit MySQL shell.

Krok 6. Další úpravy zobrazení

S našimi zobrazeními (views) můžeme udělat ještě několik věcí. Otevřete soubor v textovém editoru:

Kód by měl vypadat takto:

Edit Views

Zde jsme přidali další příkaz import pro Post. Řetězec v uvozovkách z HttpResponse je také nahrazen daty z našeho příspěvku na blogu. Pro odkazování na data používáme ID příspěvku na blogu s přidruženým objektem. ID se ukládá do proměnné recent_post. Nyní můžeme extrahovat konkrétní pole objektu připojením názvu pole odděleného tečkou.

Po provedení změn je pojďme ověřit. Spusťte server Django:

Start Server

Nyní přejděte na stránku Posts :

View Post

Měl by se zobrazit příspěvek na blogu, který jsme vytvořili.

Krok 7. Ukončení projektu

Pro ukončení serveru Django stiskněte Ctrl + C v terminálu. Pro deaktivaci virtuálního prostředí Python spusťte následující příkaz:

Závěrečné myšlenky

V tomto návodu jsme úspěšně demonstrovali vytváření pohledů, mapování vzorů URL a zobrazování textů na webové stránce z databáze random_app v Django.Jedná se o základní koncepty Django, které je nutné pochopit a ovládnout.

Zde jsou další zdroje, které vám pomohou vytvářet a spravovat aplikace v Django:

Příjemné programování!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.