Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti.

Bez dynamického směrování by bylo procházení webových stránek obtížné. Budete muset zadat úplnou cestu každé stránky, kterou navštívíte v prohlížeči. Hrozný uživatelský zážitek.

Dynamické jednotné lokátory zdrojů (URL) vám umožňují přejít na různé stránky v aplikaci kliknutím na tlačítko. Django usnadňuje navrhování dynamických adres URL. Má modul konfigurace URL (URLconf), který spojuje výrazy URL s pohledy.

Veškerý kód v URLconf je v syntaxi Pythonu, což usnadňuje vytváření dynamických adres URL. Pojďme se dozvědět více o dynamických adresách URL vytvořením projektu Django.

1. Vytvořte projekt Django

První, vytvořit projekt Django a aplikace (aplikace).

Pojmenujte svou aplikaci Boma-hodinky. Aplikace bude shromažďovat polohu, popis a čísla bydliště z různých čtvrtí. Vytvořte model s názvem Sousedství. Použijte model k přidání informací o čtvrtích do databáze. Naučit se jak vytvářet modely v Django a databáze, pokud nejste obeznámeni.

instagram viewer

Dále vytvořte funkci zobrazení pro sousedství.

2. Vytvořte funkci zobrazení

V Django jsou pohledy funkce Pythonu, které přijímají požadavky HTTP a vracejí odpovědi. Na webové stránce založené na Django plní pohledy různé úkoly a mise.

Chcete-li provést zobrazení, musíte jej zavolat prostřednictvím adresy URL. Adresa URL je jedinečná cesta ke zdroji na webu. Prostředkem může být stránka HTML, obrázek nebo koncový bod API.

Vytvořte adresu URL, která načte data sousedství na základě předaných parametrů. Chcete-li tak učinit, můžete použít primární klíč (pk) nebo Identifikace (id) k načtení informací. K tomu použijete jednu šablonu.

Pohledy můžete vytvářet tak, že je definujete v souboru s názvem views.py ve složce aplikace. Začněte importem poskytnout funkce od Django k zobrazení dat na URL. Také importujte Sousedství model od modely.py.

z django.zkratky import poskytnout
z .modely import Sousedství

Dále vytvořte funkci zobrazení s názvem Domov který zobrazuje všechny čtvrti na domovské šabloně. The NeighborHood.objects.all() funkce přijímá data pro všechna sousedství z databáze.

defDomov(žádost):
sousedství = NeighbourHood.objects.all()
vrátit render (žádost, "home.html", {'čtvrtích':neighborhoods})

Vytvořte také funkci zobrazení pro join_hood který zobrazí informace o sousedství. The NeighbourHood.objects.get (id=id) funkce požaduje data podle ID. Informace jsou poté vykresleny na šabloně.

defjoin_hood(žádost, id):
sousedství = NeighbourHood.objects.get (id=id)
vrátit render (žádost, 'join_hood.html', {'sousedství':sousedství})

Později, když přejdete do sousedství, budete moci vidět jeho profilové informace.

3. Vytvořte dynamickou adresu URL

Nyní můžete vytvořit dynamickou adresu URL pro funkci zobrazení, kterou jste vytvořili.

z django.urls import cesta
z. import pohledy
z django.conf import nastavení
z django.conf.urls.static importstatický
zdjango.přispívat.statické soubory.urlsimportstaticfiles_urlpatterns

urlpatterns = [
cesta ('Domov', views.home, name='Domov'),
cesta ('join_hood/<str: id>/', views.join_hood, name='join_hood'),
]

-linastavení.LADIT:
vzory adres URL += statický(nastavení. MEDIA_URL, document_root = nastavení. MEDIA_ROOT)

Import cesta z adres URL Django k vytvoření cest pro zobrazení. Poté importujte funkce zobrazení z views.py.

The join_hood Adresa URL má v lomených závorkách zástupný symbol:. Tím se zachytí tato část adresy URL a odešle se do zobrazení.

Úhlové závorky obvykle obsahují specifikaci převodníku. Specifikace může být buď řetězec (str) nebo celé číslo (int). Django také nabízí slimák, cestanebo univerzálně jedinečné identifikátory (uuid). Specifikace omezuje typ proměnné nebo počet znaků předávaných v URL do zobrazení.

Pojmenování adres URL pomůže jejich identifikaci v šablonách.

The statický a statické soubory importuje statické soubory zobrazení na cestách URL. Další informace o tom, jak strukturovat parametry adresy URL, naleznete v oficiálních stránkách Django dokumentace.

4. Přidejte URL do šablony

Jakmile do adresy URL přidáte funkci zobrazení, vytvořte šablonu HTML pro zobrazení dat. Šablonu pojmenujete join_hood.html.

{% rozšiřuje "základna.html" %}

{% zatížení statický %}

{% block content %}
<třída div="karta mb-3" styl="max-width: fit content;">
<třída div="řádek g-0">
<třída div="col-md-4">
<třída div="col-md-8">
<třída div="tělo karty">
<třída h5="název karty"> Vítejte!</h5>
<p třída="karta-text pt-4"> Jméno: {{neighbourhood.name}}</str>
<p třída="karta-text pt-4"> Místo: {{neighbourhood.location}}</str>
<p třída="karta-text pt-4"> Popis: {{neighbourhood.description}}</str>
<p třída="karta-text pt-4"> Zdraví Tel:{{neighbourhood.health_tell}}</str>
<p třída="karta-text pt-4"> Číslo policie: {{neighbourhood.police_number}}</str>
<p třída="karta-text pt-4"> Obyvatelé: {{neighbourhood. Počet}}</str>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Vytvořte join_hood šablonu ve složce aplikace pro zobrazení dat sousedství. Nejprve prodlužte základna.html šablonu se styly (bootstrap), které použijete pro stylování šablony. Poté vykreslete proměnné, které zobrazí informace na stránce.

Dále vytvořte a home.html šablonu, kde zobrazíte všechny čtvrti.

{% rozšiřuje 'základna.html' %}

{% zatížení statický %}

{% block content %}
<třída div="kontejner" styl="Černá barva;">
<img src="{{neighborhood.hood_logo.url}}" třída="card-img-top" alt="{{user.neighborhood.name}}">

<třída div="řádek">
{% pro sousedství ve čtvrtích %}
<třída div="col-md-4">
<třída div="karta mb-4" styl="minimální výška: 340px">
<img src="{{neighborhood.hood_logo.url}}" třída="card-img-top" alt="{{user.hood.name}}">

<třída div="tělo karty">
<třída h5="název karty">
{{neighborhood.name}}
({{neighborhood.location}})
<třída rozpětí ="ml-4">{{sousedství. Count}} člen{{neighborhood.members.count|pluralize}}</span>
</h5>

<p třída="text karty">{{neighborhood.description}}</str>
<p třída="text karty">{{neighborhood.member. Počet}}</str>

<a href="{% url 'join_hood' soused.id %}" třída="btn btn-primární btn-sm">Přidejte se k Hoodovi</A>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Na domovské stránce vykreslete všechny informace, které chcete zobrazit o čtvrtích. Na domovskou stránku přidáte tlačítko a značku ukotvení. Značka ukotvení má adresu URL název a ID sousedství.

Po kliknutí se tlačítko přesune do sousedství daného ID. Domovská šablona se zobrazí na adrese URL http://127.0.0.1:8000/home/. Následující obrázek ukazuje tuto stránku:

5. Otestujte dynamické směrování

Nyní můžete vyzkoušet, zda dynamické směrování na šabloně funguje. Když kliknete na připojit kapuci tlačítko, přejde na join_hood šablona. The join_hood šablona zobrazuje profilové informace o vybrané čtvrti.

Uvidíte také ID sousedství zobrazené na adrese URL prohlížeče http://127.0.0.1:8000/join_hood/2/

Zobrazí se, jak je uvedeno níže:

Gratulujeme! Vytvořili jste dynamickou adresu URL.

Proč používat adresy URL Django?

Dynamické adresy URL jsou důležitou funkcí webových aplikací. Django usnadňuje navrhování adres URL podle vašich potřeb. Odstraňuje omezení, která můžete spojovat s jinými frameworky.

Modul URLconf je plný zdrojů podporujících vytváření URL Django. Usnadňuje také poskytování statických souborů na šablonách a zlepšuje zpracování chyb.

Django má další funkce určené k optimalizaci backendových aplikací. Mimo jiné automatizuje ověřování uživatelů, správu obsahu a mapy stránek.