Dynaamisen reitityksen käyttäminen Djangon kanssa

Dynaamisen reitityksen käyttäminen Djangon kanssa
Kaltaisesi lukijat auttavat tukemaan MUO:ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion.

Ilman dynaamista reititystä web-sivuilla liikkuminen olisi vaikeaa. Sinun on kirjoitettava selaimeen jokaisen vierailemasi sivun koko polku. Mikä kauhea käyttäjäkokemus.





Dynaamiset Uniform Resource Locators (URL-osoitteet) antavat sinun navigoida sovelluksen eri sivuille napin painalluksella. Django tekee dynaamisten URL-osoitteiden suunnittelusta helppoa. Siinä on URL-määritysmoduuli (URLconf), joka yhdistää URL-lausekkeet näkymiin.





PÄIVÄN VIDEON TEKEMINEN

Kaikki URLconfin koodi on Python-syntaksissa, joten dynaamisten URL-osoitteiden luominen on helppoa. Opitaanpa lisää dynaamisista URL-osoitteista rakentamalla Django-projekti.





1. Luo Django-projekti

Ensimmäinen, luoda Django-projekti ja sovellus (sovellus).

Nimeä sovelluksesi Boma-kello . Sovellus kerää sijainnin, kuvauksen ja asukasnumerot eri lähiöistä. Luo malli nimeltä Naapuruus . Käytä mallia lisätäksesi tietoa lähiöistä tietokantaan. Opi kuinka luoda malleja Djangossa ja tietokanta, jos et ole perehtynyt.



Luo seuraavaksi näkymätoiminto lähiöille.

2. Luo näkymätoiminto

Djangossa näkymät ovat Python-funktioita, jotka ottavat vastaan ​​HTTP-pyynnöt ja palauttavat vastaukset. Djangon tarjoamalla verkkosivulla näkymät suorittavat erilaisia ​​tehtäviä ja tehtäviä.





Näkymän suorittamiseksi sinun on kutsuttava se URL-osoitteen kautta. URL-osoite on ainutlaatuinen polku verkossa olevaan resurssiin. Resurssi voi olla HTML-sivu, kuva tai API-päätepiste.

Luo URL-osoite, joka hakee naapuruston tiedot välitettyjen parametrien perusteella. Voit tehdä tämän käyttämällä ensisijainen avain (pk) tai Tunnistus (id) tiedon hakemiseen. Käytät tähän yhtä mallia.





Voit luoda näkymiä määrittämällä ne tiedostoon nimeltä views.py sovelluksen kansiossa. Aloita tuomalla renderöidä Django-toiminto näyttää tiedot URL-osoitteessa. Tuo myös Naapuruus malli alkaen mallit.py .

from django.shortcuts import render 
from .models import NeighbourHood

Luo seuraavaksi näkymätoiminto nimeltä Koti joka näyttää kaikki asuinalueet kotimallissa. The NeighborHood.objects.all() toiminto vastaanottaa tiedot kaikista kaupunginosista tietokannasta.

onko tässä puhelimessa taskulamppu?
def home(request): 
neighborhoods = NeighbourHood.objects.all()
return render (request, "home.html", {'neighborhoods':neighborhoods})

Luo myös näkymätoiminto join_hood joka näyttää naapuruston tiedot. The NeighbourHood.objects.get(id=id) toiminto pyytää tietoja tunnuksen mukaan. Tiedot esitetään sitten mallipohjalle.

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

Myöhemmin, kun navigoit naapurustolle, voit nähdä sen profiilitiedot.

3. Luo dynaaminen URL-osoite

Voit nyt luoda dynaamisen URL-osoitteen luomallesi näkymätoiminnolle.

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)

Tuonti polku Django URL-osoitteista luodaksesi polkuja näkymälle. Tuo sitten näkymätoiminnot kohteesta views.py .

The join_hood URL-osoitteessa on paikkamerkki kulmasuluissa: . Tämä kaappaa kyseisen osan URL-osoitteesta ja lähettää sen näkymään.

Kulmakiinnikkeet sisältävät yleensä muuntimen tekniset tiedot. Määrittely voi olla joko merkkijono (str) tai kokonaisluku (int). Django tarjoaa myös etana, polku , tai yleisesti yksilölliset tunnisteet (uuid). Määritykset rajoittavat URL-osoitteessa näkymään välitetyn muuttujan tyyppiä tai merkkien määrää.

URL-osoitteille nimeäminen auttaa tunnistamaan ne malleista.

The staattinen ja staattiset tiedostot tuonti näyttää staattiset tiedostot URL-poluissa. Lue lisää URL-parametrien rakenteesta virallisessa versiossa Django dokumentointi.

4. Lisää URL-osoite malliin

Kun olet lisännyt näkymätoiminnon URL-osoitteeseen, luo HTML-malli tietojen näyttämistä varten. Nimeä malli 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 %}

Luo join_hood sovelluskansiossa oleva malli, joka näyttää naapuruston tiedot. Ensinnäkin laajenna base.html malli tyylisivuilla (bootstrap), joita käytät mallin tyyliin. Muodosta sitten muuttujat, jotka näyttävät tiedot sivulla.

Luo seuraavaksi a home.html malli, jossa näytät kaikki kaupunginosat.

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

Näytä kotisivulla kaikki tiedot, jotka haluat näyttää lähiöistä. Lisäät painikkeen ja ankkuritunnisteen etusivulle. Ankkuritunnisteella on URL-osoite nimi ja naapuruston tunnus .

Napsautettuna painike siirtyy kyseisen tunnuksen alueelle. Kotimalli näkyy URL-osoitteessa http://127.0.0.1:8000/home/. The picture below demonstrates this page:

  Kotisivulla näkyvät kaikki kaupunginosat

5. Testaa dynaamista reititystä

Nyt voit testata, toimiiko dynaaminen reititys mallissa. Kun napsautat liity hupuun -painiketta, se siirtyy kohtaan join_hood sapluuna. The join_hood malli näyttää profiilitiedot valitsemastasi naapurustosta.

Näet myös naapuruston tunnuksen selaimen URL-osoitteessa http://127.0.0.1:8000/join_hood/2/

Se näkyy alla olevan kuvan mukaisesti:

  join_hood-sivu näyttää naapuruston tiedot selaimessa

Onnittelut! Olet luonut dynaamisen URL-osoitteen.

Miksi käyttää Django-URL-osoitteita?

Dynaamiset URL-osoitteet ovat tärkeä ominaisuus verkkosovelluksissa. Django tekee URL-osoitteiden suunnittelusta helppoa tarpeidesi mukaan. Se poistaa rajoitukset, joita saatat liittää muihin kehyksiin.

URLconf-moduuli on täynnä resursseja, jotka tukevat Django-URL-osoitteiden luomista. Se helpottaa myös staattisten tiedostojen palvelemista malleissa ja parantaa virheiden käsittelyä.

uuden Office 2016 -version asentaminen

Djangossa on muita ominaisuuksia, jotka on suunniteltu optimoimaan taustasovelluksia. Se automatisoi muun muassa käyttäjien todennuksen, sisällönhallinnan ja sivustokartat.