Edellytykset:
Ennen tämän opetusohjelman komentosarjan käyttämistä sinun on suoritettava seuraavat tehtävät.
- Asenna Django-versio 3+ Ubuntu 20+ -käyttöjärjestelmään (mieluiten)
- Luo Django-projekti
- Suorita Django-palvelin varmistaaksesi, että palvelin toimii oikein.
Määritä Django-sovellus:
Suorita seuraava komento luoda Django-sovellus nimeltä queryapp.
$ python3 hallita.py startapp queryappSuorita seuraava komento, jos haluat luoda käyttäjän Django-tietokantaan. Jos olet luonut käyttäjän aiemmin, sinun ei tarvitse suorittaa komentoa.
$ python3 hallita.py luo ylikäyttäjäLisää sovelluksen nimi INSTALLED_APP osa asetukset.py tiedosto.
INSTALLED_APPS = […
'queryapp'
]
Luo kansio nimeltä malleja sisällä queryapp kansio ja aseta mallin sovelluksen sijainti MALLIT osa asetukset.py tiedosto.
MALLIT = [… .
'DIRS': ['/ home / fahmida / django_pro / queryapp / templates'],
… .
,
]
Luo malli tietokantataulukolle:
Avaa malleja.py tiedosto queryapp -kansio ja lisää seuraava komentosarja määrittelemään kansion rakenne Tuotteet taulukoita. Tuote luokka määritellään luomaan taulukko nimeltä Tuotteet kanssa nimi, tyyppi, tuotemerkki, ja hinta kentät. Tässä, nimi, tyyppi, ja brändi kentät tallentavat merkkitiedot ja hinta kenttä tallentaa kokonaislukutiedot.
malleja.py
# Tuo mallimoduulialkaen django.db-tuontimallit
# Määritä luokka luomaan tuotetaulukko
luokan tuote (mallit.Malli):
nimi = mallit.CharField (enimmäispituus = 100)
tyyppi = mallit.CharField (enimmäispituus = 30)
tuotemerkki = mallit.CharField (enimmäispituus = 50)
hinta = mallit.KokonaislukuKenttä ()
Suorita muuttoliikkeet komento luoda uusi siirto mallien tekemien muutosten perusteella.
$ python3 hallita.py makemigrations queryappSuorita siirtyä komento suorittaa SQL-komennot ja luoda kaikki taulukossa määritellyt taulukot taulukossa malleja.py tiedosto.
$ python3 hallita.py siirtyäMuokkaa sisältöä admin.py tiedosto, jolla on seuraava sisältö. Tässä, mallien tuoteluokkas rekisteröidään käyttämällä rekisteröidy () menetelmä näyttää Tuotteet taulukot Djangon hallinnon hallintapaneelissa.
admin.py
# Tuo hallintamoduulialkaen django.contrib tuonti järjestelmänvalvoja
# Tuo tuotemalli
alkaen .mallit tuovat tuotetta
# Rekisteröi tuotemalli
admin.sivusto.rekisteröidy (Tuote)
Luo mallitiedosto nimeltä Tuotelista.html sisällä queryapp / templates / seuraavalla komentosarjalla. Tämä komentosarja näyttää kaikki kohteen Tuotteet taulukko taulukkomuodossa ja hakukenttä. Käyttäjä voi hakea tiettyjä tietueita tuotetaulukosta hakulomakkeen avulla. varten silmukkaa käytetään komentosarjassa iteroimaan dataa, joka on siirretty näkymät.py tiedosto.
Tuotelista.html
Django QuerySet -opetusohjelma
Tuotteen haku
Henkilötunnus | Nimi | Brändi | Hinta |
---|---|---|---|
tuote.id | tuote.nimi | tuote.brändi | style = "text-align: right"> $ tuote.hinta |
Muokkaa sisältöä näkymät.py tiedosto seuraavalla komentosarjalla. Mallin ja mallinimet määritetään Tuotelista luokassa. get_queryset () luokan menetelmä määritetään komentosarjassa suodattamaan tiedot mallin hakukentän lähettämän sisällön perusteella. Tuote.esineitä.kaikki() method palauttaa kaikki Tuotteet pöytä. pyyntö.SAADA.näppäimet () menetelmää käytetään komentosarjassa tarkistamaan hakulomakkeen lähettämät tiedot. Jos tämä menetelmä palaa totta, sitten pyyntö.SAADA.get ('src') menetelmää käytetään tarkistamaan, että lähetetty arvo on tyhjä vai ei. Jos tämä menetelmä palauttaa arvon, joka ei ole tyhjä, arvo tallennetaan muuttujaan, avainsana, ja sitä käytetään tietojen suodattamiseen brändi ja tyyppi kentät Tuotteet pöytä.
näkymät.py
# Tuo ListView-moduulialkaen django.näkymät.yleinen tuonti ListView
# Tuo tuotemoduuli
alkaen .mallit tuovat tuotetta
# Tuo Q-moduuli
alkaen django.db.mallit tuovat Q
# Määritä kyselytietojen luokka
luokka ProductList (ListView):
# Määritä malli
malli = tuote
# Määritä malli
template_name = 'tuoteluettelo.html '
def get_queryset (itse):
# Aseta oletuskyselyjoukko
kyselyjoukko = Tuote.esineitä.kaikki()
# Tarkista, että lomakkeen arvo on lähetetty
jos itse.pyyntö.SAADA.näppäimet ():
# Tarkista hakusana
jos itse.pyyntö.SAADA.get ('src') != ":
avainsana = itse.pyyntö.SAADA.get ('src')
# Aseta kyselyjoukko hakusanan perusteella
queryset = Tuote.esineitä.suodatin (Q (tuotemerkki = avainsana.isot kirjaimet ()) | Q (tyyppi = avainsana.isot kirjaimet ()))
paluu kyselyjoukko
Muokkaa sisältöä URL-osoitteet.py tiedosto seuraavalla komentosarjalla. KäsikirjoituksessasearchPro/ 'polku on määritetty kutsumaan Tuotelista.as_view () menetelmä, joka lähettää kaikki tiedot ja suodatetut tiedot Tuotteet taulukko mallitiedostoon.
URL-osoitteet.py
# Tuo hallintamoduulialkaen django.contrib tuonti järjestelmänvalvoja
# Tuo polku ja sisällytä moduuli
alkaen django.URL-osoitteiden tuontipolku
# Tuo SearchEmployee-moduuli
kyselysovelluksesta.tuonti ProductList
urlpatterns = [
# Määritä järjestelmänvalvojan polku
polku ('admin /', admin.sivusto.URL-osoitteet),
# Määritä hakutuotteen polku
polku ('searchPro /', ProductList.as_view ()),
Lisää tietueita taulukkoon:
Avaa Django Administration -sivu ja lisää joitain tietueita Tuotteet taulukko soveltaa kyselyjoukkoa silloin. Tähän on lisätty viisi tietuetta.
Kaikki hakukenttää sisältävien tuotteiden tietueet näytetään selaimessa seuraavan URL-osoitteen suorittamisen jälkeen.
http: // localhost: 8000 / searchPro
Kaikki näytetyt shampootuotteet, jos tuotetyyppi, 'shampoo'haetaan hakukentästä.
Nimikkeen tuore tuotemerkki näkyy, jos tuotemerkki,tuore'haetaan hakukentästä.
Päätelmä:
Tapa suodattaa yksinkertaisen tietokantataulukon tiedot käyttämällä kyselyjoukkoa on selitetty tässä opetusohjelmassa. Tiedot voidaan suodattaa eri tavoin. Lukijat ymmärtävät kyselyjoukon käyttämisen tietojen suodattamiseen tai hakemiseen selaimessa tämän opetusohjelman lukemisen jälkeen.