„Django“ - rodinių ir URL sprendimas

Turinys
Peržiūros ir URL nėra vadinami tiesiogiai pagal mūsų kodą, taip yra dėl dinamiško programų pobūdžio, priežastis yra ta, kad kuo bendresnė forma, ją galima naudoti daugeliu atvejų.
Taigi teisingas būdas yra naudoti įvairias funkcijas, leidžiančias mums išspręsti maršrutus iš rodinio į URL arba iš URL į rodinį, tam turime tam tikrų įrankių, vadinamų dekoratoriai.
Sprendimas iš URL į rodinius
The Peržiūrėjo, pagal rekomenduojamą praktiką mūsų kodas nėra vadinamas tiesiogiai, o greičiau jie iškviečiami skambinant URL, šiuos skambučius apdoroja ir aptarnauja dispečerinė sistema Django.
Vienas iš pagrindinių aspektų šiuo metu yra tas Django naudoja reguliarias išraiškas kad būtų sukurtas URL, kuris iškvies mūsų vaizdą, dėl to galime perduoti skirtingus parametrus ir taip pridėti funkcijų prie savo pažiūrų.
A URL modelis apima šiuos aspektus:
  • Įprasta išraiška, leidžianti užfiksuoti URL, kurį įdėjome kaip šabloną.
  • Nuoroda į vaizdą, kuris bus vadinamas.
  • Argumentų žodynas, kuris bus perduotas kiekvieną kartą, kai iškviečiamas vaizdas.
  • Pavadinimas, kuris bus naudojamas kaip nuoroda, kad būtų galima skambinti atvirkščiai.
URL rodinių peržiūra
Savo programose daug kartų turime skambinti kitoms peržiūroms ar ištekliams per URL, tačiau griežtas šių URL kopijavimas ar kodavimas nėra gera praktika, nes jei, pavyzdžiui, mūsų programa pasikeis, įsivaizduokite, kad turėsite pakeisti 20 ar 30 nuorodų į URL, tam mes galime naudoti skirtingus metodus, kad mūsų programa ieškotų URL nekopijuodami, vienas iš šių būdų yra Permalink dekoratorius kurį galime pamatyti kitame punkte.
Permalink dekoratorius
Kiekviename modelyje mes turime prieigą prie metodo get_absolute_url () leidžia mums tiesiogiai pasiekti išsamų objekto puslapį, nežinodami, kaip turėtų būti sukurtas URL, tačiau šis metodas neleidžia mums pateikti argumentų, nes tai tik grąžinta nuoroda.
Norėdami išplėsti funkcionalumą, turime galimybę naudoti ir grąžinti parametrus taip, lyg jie būtų gauti iš metodo get_absolute_url ().
Norėdami tai padaryti, turite laikytis šios struktūros:
  • The pirmoji vertė yra rodinio, kurį reikia vadinti, pavadinimas, jei vaizdas turi pavadinimą, jis turi būti naudojamas, kitaip galime naudoti importo kelias regėjimo. Ši vertė visada reikalinga.
  • The antra vertė Tai yra pozicijos argumentų rinkinys, kuris turėtų būti taikomas rodiniui, jei ne, šį parametrą galime palikti tuščią.
  • The trečioji vertė tai žodynas, jungiantis argumentus su atitinkamomis jų reikšmėmis, šios vertės turi būti perduotos rodiniui, jei vaizdas negauna nieko, mes galime išskirti šią vertę iš skambučio.
Toliau pažiūrėkime, kaip tai išversti į kodą Django, šiuo tikslu mes įtraukiame naudojimą dekoratorius modelyje:

Kaip matome paveikslėlyje esančiame kode, mes vadiname vaizdą library_article išsamiai, antrą vertę perduodame tuščią, nes tai nėra būtina, o trečioje reikšme nurodome, kad object_id turi būti pririštas save.id tai yra, iki paties modelio ID, tada paskutinėje eilutėje mes naudojame dekoratorius.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave