Django - klasėmis pagrįsti vaizdai

Turinys
Nuo „Django“ versija 1.3 Buvo įvestas gana reikšmingas pakeitimas, į kurį buvo įtraukta galimybė kurti vaizdus per klases, o ne funkcijas, kaip buvo padaryta, kai apdorojant peržiūros objektus, sukuriama galimybė sukurti bendresnius vaizdus, ​​su kuriais mes galime labiau laikytis DRY principas kad nesikartotų.
Vaizdai pagal klasę
Šiuo metu nuomonės nebūtinai turi apsiriboti funkcijomis, o tai yra dėl to, kad Django svarbiausia yra sugebėti gauti elementą, kurį galima pavadinti, dėl šio požiūrio galime turėti tam tikrą laisvę kaip mes generuojame elementus, kuriuos galima pavadinti. Kurdami klasėmis pagrįstus vaizdus, ​​gauname šiuos privalumus:
1Jo konfigūravimo diapazonas yra didesnis.
2Kuriant specializuotus projektus daug lengviau pritaikyti.
3Mes galime pakartotinai panaudoti objektus kitiems tikslams.
Tiesa, yra įvairių būdų, kaip sukurti klases, kad būtų išlaikytas nuoseklumas su kodu Django turėtume stengtis, kad mūsų klasės būtų panašios į bendrąsias sistemos klases.
Bet kokiu atveju, tai darant, rekomenduojama nepamiršti, kad mums netrukdoma kurti klases taip, kaip to reikia mūsų programai, net jei turime skirtis nuo jau minėtų bendrųjų klasių.
Bendras vaizdas Django.views.generic.base.View
Kadangi kiekviena pradžia be vadovo yra sunki, Django Tai leidžia mums lengviau patekti į šį pasaulį, siūlydama mums bendrą vaizdą, kad galėtume jį naudoti, turime tik sudaryti jo poklasį ir tokiu būdu turėsime bazę.
Akivaizdu, kad tai nepadės to, ko mums reikia nuo pat pradžių, tačiau galime naudoti šias funkcijas:
1Rodinio konfigūracijai perduotų argumentų patvirtinimas.
2Neleidžia naudoti argumentų, pavadintų kaip HTTP metodai.
3Surinkite URL konfigūracijoje pateiktus argumentus.
4Patikrinkite, ar rodinyje palaikomas vadinamasis HTTP metodas.
5Automatiškai tvarko parinkčių užklausas.
Kaip sukurti rodinį klasėje
Mes jau matėme skirtingas jo reikšmes generuoti peržiūras su klasėmisMes netgi matėme kai kuriuos privalumus, dabar pamatysime, kaip galime išversti tai, ką žinome, į kodą, kad gautume rezultatą.
Toliau pateiktame paveikslėlyje pažiūrėkime vaizdą, sukurtą sukūrus bendras „Django“ vaizdas:

Atlikime kodo analizę, jei atrodysime, kad kuriame savo klasę ir nurodome, kad ji turi būti a Žiūrėti poklasį taigi mes įgysime visas jo funkcijas mes nurodome, kuris šablonas turėtų būti susietas su klase ir, galiausiai mes nepaisome gavimo ir paskelbimo metodų, tokiu būdu galime integruoti savo logiką.
SvarbuNorėdami pasinaudoti vaizdu, turime tai paskelbti savo modelis URL ir pasakykite, kad jis turėtų būti traktuojamas kaip vaizdas, naudojant as_view () metodas, pasirinktinai galime perduoti šablono, kuriame jis turėtų pateikti rezultatus, pavadinimą.
Norėdami baigti šią pamoką, pažiūrėkime pirmiau minėto pavyzdžio pavyzdį šiame paveikslėlyje:

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