Späť na blog

Vytváranie pohľadov vo webovom aplikačnom frameworku Django

Vytváranie pohľadov vo webovom aplikačnom frameworku Django

Django je výkonný, open-source, Python-based webový framework, ktorý zjednodušuje proces tvorby a správy webových stránok a webových aplikácií. Aplikácie v Django sú škálovateľné, vysoko výkonné a bezpečné. Obsahuje tiež naozaj dobrú dokumentáciu ku každej jednej časti frameworku.

V našej sérii o Django, sme skúmali Django implementáciou ukážkovej webovej stránky so základnými funkciami blogovania. V tomto návode si prejdeme kroky vytvorenia ukážkového zobrazenia (view) pre našu aplikáciu Django.

Požiadavky

Na sledovanie tohto návodu budete potrebovať nasledujúce komponenty.

Tento návod je pokračovaním našej série o Django. Najprv bude užitočné pozrieť si predchádzajúce návody o nastavení Django, nadviazaní pripojenia k databáze Django, vytváraní modelov, a povolenie administračného rozhrania Django.

V tomto návode si ukážeme, ako vytvoriť zobrazenia (views) v Django, ktoré umožnia webovej aplikácii správne spracovávať webové požiadavky a vracať príslušnú odpoveď. Ako popisuje oficiálna dokumentácia Django, webová odpoveď môže byť HTML obsah webovej stránky, presmerovanie alebo chyba HTTP. Neexistuje žiadne pevné miesto na ukladanie funkcií zobrazenia, pokiaľ sú v cestách Pythonu. Existujú však populárne konvencie pre pomenovanie a umiestnenie súborov. Tento návod sa bude týmito konvenciami riadiť.

Krok 1. Aktivácia virtuálneho prostredia

Django sa najlepšie prevádzkuje vo virtuálnom prostredí Pythonu. Naša aplikácia Django sample_app je vytvorená vo vyhradenom virtuálnom prostredí. Najprv aktivujte virtuálne prostredie:

Activate

Krok 2. Vytvorenie funkcií zobrazenia

Prejdite do nášho adresára random_app ktorý hostí modely pre náš blogový web:

Tu bude súbor views.py obsahovať kódy potrebné na vytvorenie našich zobrazení. Otvorte ho v textovom editore:

Views in Django 1

Potrebujeme funkciu render() z knižnice django.shortcuts , takže prvý riadok zostáva rovnaký. Funkcia render() funkcia pomáha skombinovať šablónu aj kontext, ktoré sa vrátia ako správny objekt HttpResponse .

Prvé zobrazenie privíta používateľov, ktorí prídu na úvodnú stránku. Budeme musieť importovať funkciu HttpResponse() z knižnice Django http:

Views in Django Edited Views

Uložte súbor a zatvorte editor.

Krok 3. Mapovanie URL adries na zobrazenia

V súčasnosti nie je pre tieto funkcie určená žiadna URL adresa, takže sú neprístupné. Musíme pridať ďalší blok urlpatterns v konfiguračnom súbore URL. V Pythone sa označuje ako súbor URLconf (konfigurácia URL).

Django potrebuje určiť koreňový modul URLconf , ktorý má použiť. Potom sa pozrie do urlpatterns , ktoré obsahujú všetky vzory URL v štruktúre zoznamu. Django potom prechádza súbor, kým nenájde prvú zhodu. Keď nájde zhodu, Django vyhľadá jej priradené zobrazenie. Táto funkcia zobrazenia prijme dáta súvisiace so vzorom URL a objekt HttpRequest . Chyba v ktoromkoľvek bode tohto procesu ju presmeruje na zobrazenie na spracovanie chýb.

Otvorte súbor urls.py aplikácie random_app v textovom editore:

 

Zadajte nasledujúci kód:

 

Views in Django Urls

Uložte súbor a zatvorte editor.

Po dokončení budeme musieť tiež zahrnúť cestu k súboru URL v sample_app adresárovom URLconf. V opačnom prípade ho naša aplikácia Django nerozpozná. Je to preto, že URLconf pre sample_app je nastavený ako ROOT_URLCONF v súbore nastavení.

Prejdite do adresára našej aplikácie sample_app:

change dir

Otvorte súbor urls.py v textovom editore:

Sample Urls

Do súboru zadajte nasledujúci kód:

Sample Urls2

Otestujme naše zmeny. Spusťte server aplikácie Django na localhost:8000:

Views in Django Start Server

Prejdite na URL:

Views in Django Wc Page

Skontrolujte URL pre príspevok:

Post Page

Krok 4. Vytvorenie blogového príspevku

Vytvorili sme naše vzory URL a preskúmali ich fungovanie. Je čas pridať ukážkový blog a pozrieť si výsledok.

V administračnom paneli prejdite na stránku random_app :

Views in Django Random Admin Page

Kliknite na odkaz +Add v riadku Posts :

Views in Django Add Post

Na novej webovej stránke sa zobrazí formulár pozostávajúci z nasledujúcich polí.

  • Názov: Názov blogového príspevku.
  • Slug: Vzťahuje sa na časť platnej webovej adresy s ľahko čitateľnými kľúčovými slovami. Vo všeobecnosti sa slugi vytvárajú na základe názvu príspevku.
  • Obsah: Telo blogového príspevku.
  • Autor: Príslušné používateľské meno.

Kliknutím na SAVE odošlite príspevok:

Save Post

Krok 5. Zobrazenie údajov v databáze

V tejto ďalšej časti budeme pracovať s našou databázou. Prihláste sa do MySQL ako vyhradený používateľ pre Django:

Mysql prompt

Overme, či bol náš príspevok úspešne zaregistrovaný v databáze:

Change DB

Select Query

Voila! Príspevok bol úspešne zaregistrovaný! Teraz môžete ukončiť shell MySQL.

Krok 6. Ďalšie úpravy zobrazení

S našimi zobrazeniami môžeme urobiť ešte niekoľko vecí. Otvorte súbor v textovom editore:

Kód by mal vyzerať takto:

Edit Views

Tu sme pridali dodatočný príkaz import pre Post. Reťazec v úvodzovkách z HttpResponse je tiež nahradený údajmi z nášho blogového príspevku. Na odkazovanie na údaje používame ID blogového príspevku s pridruženým objektom. ID sa ukladá do premennej recent_post. Teraz môžeme extrahovať konkrétne polia objektu pridaním názvu poľa za bodku.

Po vykonaní zmien ich overme. Spusťte server Django:

Start Server

Teraz prejdite na stránku Posts :

View Post

Malo by to zobraziť blogový príspevok, ktorý sme vytvorili.

Krok 7. Ukončenie projektu

Pre ukončenie servera Django stlačte Ctrl + C v termináli. Ak chcete deaktivovať virtuálne prostredie Python, spustite nasledujúci príkaz:

Záverečné myšlienky

V tejto príručke sme úspešne demonštrovali vytváranie zobrazení, mapovanie vzorov URL a zobrazovanie textov na webovej stránke z databázy random_app v Django.Toto sú základné koncepty Django, ktoré je potrebné pochopiť a zvládnuť.

Tu sú ďalšie zdroje, ktoré vám pomôžu vytvárať a spravovať aplikácie Django:

Príjemné programovanie!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.