Ako používať dynamické smerovanie s Django

Ako používať dynamické smerovanie s Django
Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu.

Bez dynamického smerovania by bola navigácia na webových stránkach náročná. Budete musieť zadať úplnú cestu každej stránky, ktorú navštívite v prehliadači. Aký hrozný používateľský zážitok.





Dynamické jednotné lokátory zdrojov (URL) vám umožňujú prejsť na rôzne stránky v aplikácii kliknutím na tlačidlo. Django uľahčuje navrhovanie dynamických adries URL. Má modul konfigurácie URL (URLconf), ktorý spája výrazy URL so zobrazeniami.





ako zmeniť prihlasovaciu obrazovku na počítači Mac
VYUŽITIE VIDEA DŇA

Všetok kód v URLconf je v syntaxi Pythonu, čo uľahčuje vytváranie dynamických adries URL. Poďme sa dozvedieť viac o dynamických adresách URL vytvorením projektu Django.





1. Vytvorte projekt Django

Najprv, vytvoriť projekt Django a aplikácia (aplikácia).

Pomenujte svoju aplikáciu Boma-hodinky . Aplikácia bude zhromažďovať polohu, popis a čísla obyvateľov z rôznych štvrtí. Vytvorte model s názvom NeighborHood . Pomocou modelu pridajte informácie o štvrtiach do databázy. Naučiť sa ako vytvárať modely v Django a databázu, ak nie ste oboznámení.



Ďalej vytvorte funkciu zobrazenia pre susedstvá.

2. Vytvorte funkciu zobrazenia

V Django sú zobrazenia funkcie Pythonu, ktoré prijímajú požiadavky HTTP a vracajú odpovede. Na webovej stránke, ktorú používa Django, zobrazenia vykonávajú rôzne úlohy a misie.





Ak chcete spustiť zobrazenie, musíte ho zavolať prostredníctvom adresy URL. Adresa URL je jedinečná cesta k zdroju na webe. Zdrojom môže byť stránka HTML, obrázok alebo koncový bod rozhrania API.

Vytvorte adresu URL, ktorá načíta údaje o susedstve na základe odovzdaných parametrov. Ak to chcete urobiť, môžete použiť primárny kľúč (pk) alebo Identifikácia (id) na získanie informácií. Na to použijete jednu šablónu.





Pohľady môžete vytvárať tak, že ich definujete v súbore s názvom views.py v priečinku aplikácie. Začnite importovaním súboru vykresliť funkcia od Django na zobrazenie údajov na adrese URL. Tiež importujte NeighborHood model z modely.py .

from django.shortcuts import render 
from .models import NeighbourHood

Ďalej vytvorte funkciu zobrazenia s názvom Domov ktorý zobrazuje všetky štvrte na domovskej šablóne. The NeighborHood.objects.all() funkcia prijíma údaje pre všetky štvrte z databázy.

def home(request): 
neighborhoods = NeighbourHood.objects.all()
return render (request, "home.html", {'neighborhoods':neighborhoods})

Vytvorte tiež funkciu zobrazenia pre join_hood ktorý zobrazí informácie o okolí. The NeighbourHood.objects.get(id=id) funkcia požaduje údaje podľa ID. Informácie sa potom vykreslia na šablóne.

def join_hood(request, id): 
neighborhood = NeighbourHood.objects.get(id=id)
return render (request, 'join_hood.html', {'neighborhood':neighborhood})

Neskôr, keď prejdete do štvrte, budete môcť vidieť jej profilové informácie.

ako kopírovať súbory z jedného počítača do druhého

3. Vytvorte dynamickú adresu URL

Teraz môžete vytvoriť dynamickú adresu URL pre funkciu zobrazenia, ktorú ste vytvorili.

from django.urls import path 
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

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

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

Importovať cesta z adries URL Django na vytvorenie ciest pre zobrazenie. Potom importujte funkcie zobrazenia z views.py .

The join_hood Adresa URL má v lomených zátvorkách zástupný symbol: . Toto zachytí túto časť adresy URL a odošle ju do zobrazenia.

Uhlové zátvorky zvyčajne obsahujú špecifikáciu prevodníka. Špecifikácia môže byť reťazec (str) alebo celé číslo (int). Django tiež ponúka slimák, cesta , alebo univerzálne jedinečné identifikátory (uuid). Špecifikácia obmedzuje typ premennej alebo počet znakov odovzdaných v adrese URL do zobrazenia.

Pomenovanie adries URL pomôže identifikovať ich v šablónach.

The statické a statické súbory importuje statické súbory zobrazenia na cestách URL. Ďalšie informácie o štruktúre parametrov webovej adresy nájdete v oficiálnom Django dokumentáciu.

4. Pridajte URL do šablóny

Po pridaní funkcie zobrazenia do adresy URL vytvorte šablónu HTML na zobrazenie údajov. Pomenujete šablónu join_hood.html .

{% extends "base.html" %} 

{% load static %}

{% block content %}
<div class="card mb-3" style="max-width:fit content;">
<div class="row g-0">
<div class="col-md-4">
<div class="col-md-8" >
<div class="card-body">
<h5 class="card-title"> Welcome!</h5>
<p class="card-text pt-4"> Name: {{neighbourhood.name}}</p>
<p class="card-text pt-4"> Location: {{neighbourhood.location}}</p>
<p class="card-text pt-4"> Description: {{neighbourhood.description}}</p>
<p class="card-text pt-4"> Health Tel:{{neighbourhood.health_tell}}</p>
<p class="card-text pt-4"> Police Number: {{neighbourhood.police_number}}</p>
<p class="card-text pt-4"> Residents : {{neighbourhood.Count}}</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Vytvorte join_hood šablónu v priečinku aplikácie na zobrazenie údajov okolia. Najprv predĺžte base.html šablónu so štýlmi (bootstrap), ktoré použijete na úpravu šablóny. Potom vykreslite premenné, ktoré zobrazia informácie na stránke.

Ďalej vytvorte a home.html šablónu, kde zobrazíte všetky štvrte.

{% extends 'base.html' %} 

{% load static %}

{% block content %}
<div class="container" style="color:black;">
<img src="{{neighborhood.hood_logo.url}}" class="card-img-top" alt="{{user.neighborhood.name}}">

<div class="row">
{% for neighborhood in neighborhoods %}
<div class="col-md-4">
<div class="card mb-4" style="min-height:340px">
<img src="{{neighborhood.hood_logo.url}}" class="card-img-top" alt="{{user.hood.name}}">

<div class="card-body">
<h5 class="card-title">
{{neighborhood.name}}
({{neighborhood.location}})
<span class="ml-4">{{neighborhood.Count}} member{{neighborhood.members.count|pluralize}}</span>
</h5>

<p class="card-text">{{neighborhood.description}}</p>
<p class="card-text">{{neighborhood.member.Count}}</p>

<a href="{% url 'join_hood' neighborhood.id %}" class="btn btn-primary btn-sm">Join Hood</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Na domovskej stránke vykreslite všetky informácie, ktoré chcete zobraziť o štvrtiach. Na domovskú stránku pridáte tlačidlo a značku ukotvenia. Značka ukotvenia má adresu URL názov a ID susedstva .

Po kliknutí sa tlačidlo presunie do susedstva daného ID. Domovská šablóna sa zobrazí na adrese URL http://127.0.0.1:8000/home/. The picture below demonstrates this page:

  Domovská stránka zobrazuje všetky štvrte

5. Otestujte dynamické smerovanie

Teraz môžete otestovať, či dynamické smerovanie funguje na šablóne. Keď kliknete na pripojiť kapucňu tlačidlo, prejde na join_hood šablóna. The join_hood šablóna zobrazuje profilové informácie o štvrti, ktorú ste vybrali.

Uvidíte aj ID štvrte zobrazené na adrese URL prehliadača http://127.0.0.1:8000/join_hood/2/

Zobrazí sa, ako je uvedené nižšie:

ako môžem zadarmo zistiť, komu patrí telefónne číslo?
  Stránka join_hood zobrazuje podrobnosti o susedstve v prehliadači

Gratulujem! Vytvorili ste dynamickú adresu URL.

Prečo používať adresy URL Django?

Dynamické adresy URL sú dôležitou funkciou webových aplikácií. Django uľahčuje navrhovanie adries URL podľa vašich potrieb. Odstraňuje obmedzenia, ktoré môžete spájať s inými rámcami.

Modul URLconf je plný zdrojov podporujúcich vytváranie adries URL Django. Tiež uľahčuje poskytovanie statických súborov na šablónach a zlepšuje spracovanie chýb.

Django má ďalšie funkcie určené na optimalizáciu backendových aplikácií. Okrem iných funkcií automatizuje autentifikáciu používateľov, správu obsahu a mapy stránok.