Kā izmantot dinamisko maršrutēšanu ar Django

Kā izmantot dinamisko maršrutēšanu ar Django
Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju.

Bez dinamiskas maršrutēšanas būtu grūti pārvietoties tīmekļa lapās. Jums būs jāievada katras pārlūkprogrammas apmeklētās lapas pilns ceļš. Kāda briesmīga lietotāja pieredze.





Dinamiskie vienotie resursu meklētāji (URL) ļauj pārvietoties uz dažādām lietotnes lapām, noklikšķinot uz pogas. Django ļauj viegli izveidot dinamiskus URL. Tam ir URL konfigurācijas modulis (URLconf), kas savieno URL izteiksmes ar skatiem.





DIENAS VIDEO MAKEUSEOF

Viss URLconf kods ir Python sintaksē, kas ļauj viegli izveidot dinamiskus URL. Uzzināsim vairāk par dinamiskajiem URL, izveidojot Django projektu.





1. Izveidojiet Django projektu

Pirmkārt, izveidot Django projektu un lietojumprogramma (lietotne).

Nosauciet savu lietotni Boma pulkstenis . Lietotne apkopos atrašanās vietu, aprakstu un iedzīvotāju numurus no dažādiem rajoniem. Izveidojiet modeli ar nosaukumu Kaimiņvalsts . Izmantojiet modeli, lai datubāzē pievienotu informāciju par apkaimēm. Uzziniet, kā izveidot modeļus Django un datubāze, ja neesat pazīstams.



Pēc tam izveidojiet skatu funkciju apkaimēm.

2. Izveidojiet skata funkciju

Programmā Django skati ir Python funkcijas, kas pieņem HTTP pieprasījumus un atgriež atbildes. Tīmekļa lapā, ko nodrošina Django, skati veic dažādus uzdevumus un uzdevumus.





Lai izpildītu skatu, tas ir jāizsauc, izmantojot URL. URL ir unikāls ceļš uz resursu tīmeklī. Resurss var būt HTML lapa, attēls vai API galapunkts.

Izveidojiet URL, kas izgūst apkārtnes datus, pamatojoties uz nodotajiem parametriem. Lai to izdarītu, varat izmantot primārā atslēga (pk) vai Identifikācija (id) lai izgūtu informāciju. Lai to izdarītu, izmantosit vienu veidni.





Varat izveidot skatus, definējot tos failā ar nosaukumu views.py lietotnes mapē. Sāciet, importējot renderēt funkcija no Django, lai parādītu datus URL. Importējiet arī Kaimiņvalsts modelis no modeļi.py .

from django.shortcuts import render 
from .models import NeighbourHood

Pēc tam izveidojiet skata funkciju ar nosaukumu mājas kas parāda visas mājas veidnes apkārtnes. The NeighborHood.objects.all() funkcija saņem datus par visiem apkaimēm no datu bāzes.

kā paņemt attēlu no pdf
def home(request): 
neighborhoods = NeighbourHood.objects.all()
return render (request, "home.html", {'neighborhoods':neighborhoods})

Izveidojiet arī skatīšanas funkciju join_hood kas parādīs apkārtnes informāciju. The NeighbourHood.objects.get(id=id) funkcija pieprasa datus atbilstoši ID. Pēc tam informācija tiek atveidota uz veidnes.

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

Vēlāk, pārejot uz apkaimi, varēsit redzēt tā profila informāciju.

3. Izveidojiet dinamisko URL

Tagad varat izveidot dinamisku URL jūsu izveidotajai skata funkcijai.

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)

Importēt ceļš no Django URL, lai izveidotu skatu ceļus. Pēc tam importējiet skata funkcijas no views.py .

The join_hood URL ir vietturis leņķa iekavās: . Tas tver šo URL daļu un nosūta uz skatu.

Leņķa iekavās parasti ir iekļauta pārveidotāja specifikācija. Specifikācija var būt virkne (str) vai vesels skaitlis (int). Django arī piedāvā gliemeža, ceļš , vai universāli unikāli identifikatori (uuid). Specifikācija ierobežo mainīgā veidu vai rakstzīmju skaitu, kas tiek nodotas skata URL.

Nosaukuma piešķiršana vietrāžiem URL palīdzēs tos identificēt veidnēs.

The statisks un statiskie faili imports parāda statiskus failus URL ceļos. Uzziniet vairāk par to, kā strukturēt URL parametrus oficiālajā Django dokumentācija.

4. Pievienojiet URL veidnei

Kad URL ir pievienota skatīšanas funkcija, izveidojiet HTML veidni, lai parādītu datus. Jūs nosaucat veidni 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 %}

Izveidojiet join_hood veidni lietotņu mapē, lai parādītu apkārtnes datus. Pirmkārt, pagariniet base.html veidni ar stila lapām (bootstrap), ko izmantosit veidnes stila veidošanai. Pēc tam renderējiet mainīgos, kas lapā parādīs informāciju.

Pēc tam izveidojiet a home.html veidne, kurā tiks parādīti visi rajoni.

{% 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 %}

Sākumlapā atveidojiet visu informāciju, ko vēlaties parādīt par apkaimēm. Sākumlapā jūs pievienosit pogu un enkura tagu. Enkura tagam ir URL nosaukums un apkaimes ID .

Noklikšķinot, poga pāriet uz šī ID apkārtni. Sākuma veidne ir redzama URL http://127.0.0.1:8000/home/. The picture below demonstrates this page:

  Mājas lapa parāda visas apkaimes

5. Pārbaudiet dinamisko maršrutēšanu

Tagad varat pārbaudīt, vai dinamiskā maršrutēšana darbojas veidnē. Kad noklikšķināt uz pievienoties kapuci pogu, tas pāriet uz join_hood veidne. The join_hood veidnē tiek parādīta profila informācija par jūsu atlasīto apkaimi.

Jūs redzēsit arī pārlūkprogrammas vietrādī URL parādīto apkaimes ID http://127.0.0.1:8000/join_hood/2/.

Tas parādīsies, kā parādīts zemāk:

  join_hood lapa pārlūkprogrammā parāda informāciju par apkārtni

Apsveicam! Jūs esat izveidojis dinamisku URL.

Kāpēc izmantot Django URL?

Dinamiskie URL ir svarīga tīmekļa lietojumprogrammu funkcija. Django ļauj viegli izveidot vietrāžus URL atbilstoši jūsu vajadzībām. Tas novērš ierobežojumus, ko varētu saistīt ar citiem ietvariem.

URLconf modulis ir pilns ar resursiem, kas atbalsta Django URL izveidi. Tas arī atvieglo statisko failu apkalpošanu veidnēs un uzlabo kļūdu apstrādi.

Django ir citas funkcijas, kas paredzētas aizmugurprogrammu optimizēšanai. Tas automatizē lietotāju autentifikāciju, satura administrēšanu un vietņu kartes, kā arī citas funkcijas.