ListView ja DetailView
Näytä kokoelmat ja yksittäiset tietueet
ListView ja DetailView on ilmainen Django Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Django Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Django Academy-kurssilla on yhteensä 4 oppituntia.
Kaksi aina tarvittavaa sivua
Lähes jokainen sovellus näyttää asioiden luettelon ja yhdelle asialle tarkoitetun sivun. Django sisältää yleiskäyttöiset näkymät, jotka rakentavat molemmat puolestasi. ✨
Tutustu ListView-näkymään
ListView hakee useita olioita ja välittää ne mallipohjalle, joten sinun ei tarvitse itse kirjoittaa kyselyä ja renderöintikutsua.
Määritä ListView käyttämään mallia
Anna ListView-näkymälle malli, niin se suorittaa kyselyn automaattisesti taulun jokaiselle riville.
from django.views.generic import ListView
from .models import Post
class PostList(ListView):
model = PostOletusarvoinen mallipohjan nimi
ListView etsii oletusarvoisesti mallipohjaa nimeltä app/model_list.html, esimerkiksi post_list.html, ellet korvaa asetusta.
object_list mallipohjassa
Mallipohjassa rivit saapuvat object_list-muuttujana, jonka läpi voit käydä silmukalla ja jonka tiedot voit näyttää.
{% for post in object_list %}
<li>{{ post.title }}</li>
{% endfor %}Selkeämmät nimet context_object_name-arvolla
Aseta context_object_name, jotta mallipohjan muuttujalla on luonteva nimi, kuten posts object_list-nimen sijaan.
class PostList(ListView):
model = Post
context_object_name = "posts"Tutustu DetailView-näkymään
DetailView hakee yhden olion sen avaimen perusteella ja renderöi sille yhden kohdennetun sivun.
Miten DetailView löytää olion
DetailView lukee URL-osoitteesta pk-arvon tai slug-arvon ja suorittaa sitten get()-haun ladatakseen täsmälleen kyseisen tietueen.
from django.views.generic import DetailView
class PostDetail(DetailView):
model = PostTietojen yksityiskohtamallipohja ja object
DetailView renderöi mallipohjan app/model_detail.html ja tarjoaa tietueen mallipohjassa object-muuttujana.
<h1>{{ object.title }}</h1>
<p>{{ object.body }}</p>Liitä ne URL-osoitteisiin
Kummastakin yleiskäyttöisestä näkymästä tulee URL-osoite as_view()-metodilla, joka muuntaa luokan kutsuttavaksi näkymäksi.
path("posts/", PostList.as_view()),
path("posts/<int:pk>/", PostDetail.as_view()),Vähemmän koodia, sama lopputulos
Yhdessä nämä kaksi näkymää korvaavat kymmeniä rivejä toisteista koodia ja antavat käyttöön luettelo- ja tietuesivut lähes ilmaiseksi. 🚀
Pikatarkistus
Mistä DetailView hakee näyttämänsä olion?
Kertaus: luettelo ja yksityiskohdat
Tutustuit ListView-näkymään kokoelmia varten ja DetailView-näkymään yhtä tietuetta varten, liitit molemmat as_view()-metodilla ja vältit suuren määrän toisteista koodia. 🎉
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”ListView ja DetailView” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Django Academy-oppimispolun 3 oppituntia, myös oppitunnin “ListView ja DetailView”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Django Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”ListView ja DetailView”?
Näytä kokoelmat ja yksittäiset tietueet Harjoittelet Django Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Django Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Django Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”ListView ja DetailView”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Django Academy-oppitunnilla?
Kyllä. Jokainen Django Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- ListView ja DetailView
- CreateView ja UpdateView
- DeleteView ja success_url
- get_queryset-metodin ja Templates-määritysten ylikirjoittaminen