Kako uporabljati dinamično usmerjanje z Django

Kako uporabljati dinamično usmerjanje z Django
Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.

Brez dinamičnega usmerjanja bi bilo krmarjenje po spletnih straneh težavno. V brskalnik bi morali vnesti celotno pot vsake strani, ki jo obiščete. Kakšna grozna uporabniška izkušnja.





Dinamični enotni lokatorji virov (URL-ji) vam omogočajo krmarjenje na različne strani v aplikaciji s klikom gumba. Django olajša oblikovanje dinamičnih URL-jev. Ima modul za konfiguracijo URL-jev (URLconf), ki povezuje izraze URL-jev s pogledi.





MAKEUSEOF VIDEO DNEVA

Vsa koda v URLconf je v sintaksi Python, kar olajša ustvarjanje dinamičnih URL-jev. Naučimo se več o dinamičnih URL-jih z izdelavo projekta Django.





1. Ustvarite projekt Django

Prvič, ustvarite projekt Django in aplikacija (aplikacija).

Poimenujte svojo aplikacijo Boma-ura . Aplikacija bo zbirala lokacijo, opis in številke prebivalcev iz različnih sosesk. Ustvarite model z imenom NeighborHood . Uporabite model za dodajanje informacij o soseskah v bazo podatkov. Naučite se ustvarjanje modelov v Djangu in bazo podatkov, če ne poznate.



kako skriti opravilno vrstico na drugem monitorju

Nato ustvarite funkcijo pogleda za soseske.

2. Ustvarite funkcijo pogleda

V Djangu so pogledi funkcije Python, ki sprejemajo zahteve HTTP in vračajo odgovore. Na spletni strani, ki jo poganja Django, pogledi opravljajo različne naloge in misije.





Če želite izvesti pogled, ga morate poklicati prek URL-ja. URL je edinstvena pot do vira v spletu. Vir je lahko stran HTML, slika ali končna točka API-ja.

Ustvarite URL, ki pridobi podatke o soseski na podlagi posredovanih parametrov. Če želite to narediti, lahko uporabite primarni ključ (pk) oz Identifikacija (id) za pridobitev informacij. Za to boste uporabili eno predlogo.





Poglede lahko ustvarite tako, da jih definirate v datoteki, imenovani views.py v mapi aplikacije. Začnite z uvozom upodabljati funkcijo iz Djanga za prikaz podatkov na URL-ju. Uvozite tudi NeighborHood model iz models.py .

from django.shortcuts import render 
from .models import NeighbourHood

Nato ustvarite funkcijo pogleda z imenom domov ki prikaže vse soseske na domači predlogi. The NeighborHood.objects.all() funkcija prejme podatke za vse soseske iz baze podatkov.

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

Prav tako ustvarite funkcijo pogleda za join_hood ki bo prikazal informacije o soseski. The NeighbourHood.objects.get(id=id) funkcija zahteva podatke glede na ID. Informacije so nato upodobljene na predlogi.

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

Pozneje, ko se pomaknete do soseske, boste lahko videli informacije o njenem profilu.

3. Ustvarite dinamični URL

Zdaj lahko ustvarite dinamični URL za funkcijo pogleda, ki ste jo ustvarili.

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)

Uvozi pot iz URL-jev Django, da ustvarite poti za pogled. Nato uvozite funkcije pogleda iz views.py .

The join_hood URL ima ogrado v oglatih oklepajih: . To zajame ta del URL-ja in ga pošlje v pogled.

Kotni oklepaji običajno vključujejo specifikacijo pretvornika. Specifikacija je lahko bodisi niz (str) ali celo število (int). Django ponuja tudi polž, pot , oz univerzalno edinstvene identifikatorje (uuid). Specifikacija omejuje vrsto spremenljivke ali število znakov, posredovanih v URL-ju v pogled.

Če naslove URL poimenujete, jih boste lažje prepoznali na predlogah.

The statična in staticfiles uvozi prikaz statičnih datotek na poteh URL. Izvedite več o tem, kako strukturirati parametre URL v uradnem Django dokumentacijo.

4. Dodajte URL v predlogo

Ko URL-ju dodate funkcijo pogleda, ustvarite predlogo HTML za prikaz podatkov. Vi poimenujte predlogo 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 %}

Ustvarite join_hood predlogo v mapi aplikacije za prikaz podatkov o soseski. Najprej razširite base.html predlogo s slogovnimi listami (bootstrap), ki jih boste uporabili za oblikovanje predloge. Nato upodobite spremenljivke, ki bodo prikazale informacije na strani.

Nato ustvarite a domov.html predlogo, kjer boste prikazali vse soseske.

{% 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 domači strani upodobite vse informacije o soseskah, ki jih želite prikazati. Na domači strani boste dodali gumb in sidrno oznako. Sidrna oznaka ima URL ime in ID soseske .

Ko ga kliknete, se gumb premakne v okolico tega ID-ja. Domača predloga se prikaže na naslovu URL http://127.0.0.1:8000/home/. The picture below demonstrates this page:

  Domača stran prikazuje vse soseske

5. Preizkusite dinamično usmerjanje

Zdaj lahko preizkusite, ali dinamično usmerjanje deluje na predlogi. Ko kliknete na pridružite se kapuci gumb, Pomakne se do join_hood predlogo. The join_hood predloga prikazuje informacije o profilu soseske, ki ste jo izbrali.

Videli boste tudi ID soseske, prikazan na URL-ju brskalnika http://127.0.0.1:8000/join_hood/2/

Videlo se bo, kot je prikazano spodaj:

  stran join_hood prikazuje podrobnosti soseske v brskalniku

čestitke! Ustvarili ste dinamični URL.

Zakaj uporabljati URL-je Django?

Dinamični URL-ji so pomembna funkcija v spletnih aplikacijah. Django olajša oblikovanje URL-jev glede na vaše potrebe. Odstrani omejitve, ki bi jih lahko povezali z drugimi okviri.

želite gledati in snemati televizijo v živo na svojem računalniku

Modul URLconf je poln virov, ki podpirajo ustvarjanje URL-jev Django. Prav tako olajša streženje statičnih datotek na predlogah in izboljša obravnavo napak.

Django ima druge funkcije, namenjene optimizaciji zalednih aplikacij. Med drugimi funkcijami avtomatizira preverjanje pristnosti uporabnikov, upravljanje vsebine in zemljevide spletnih mest.