/ / Integrácia aplikácií django do vašich vlastných zobrazení - django, django-šablóny, django-pohľady

Integrácia django aplikácií do vašich vlastných pohľadov - django, django-templates, django-views

Povedzme, že píšem komplexné stránky v django pomocou wiki, fór alebo ... alebo budem písať svoje vlastné aplikácie, ktoré chcem opakovane použiť z rôznych webov.

Naozaj chcem vytvoriť napríklad wiki stránku, ktorá má v spodnej časti fórum, alebo znova použiť moju predtým napísanú wiki aplikáciu s iným grafickým rozložením.

Aký je najlepší spôsob štruktúrovania mojej aplikácie tak, aby umožňoval tento druh opätovného použitia?

Doteraz som dával aplikáciám ich vlastné adresy URL v urls.py. To však nefunguje, ak chcem spojiť viac aplikácií dohromady na jednej stránke.

Okrem toho som väčšinu aplikácií našiel onlineprichádzajú s vlastnými šablónami, ktoré majú celý html, a neoddeľujú logiku vytvárania / prípravy kontextu od logiky vybavovania žiadosti a generovania odpovede.

Aký je najlepší postup tu? Čo robíš? upraviť šablóny pochádzajúce z aplikácií, ktoré si stiahnete online? refaktorovať ich, aby sa zmestili do vašej žiadosti?

čo by som mal urobiť pre svoje vlastné aplikácie? štruktúrovať ich tak, aby mali metódu na získanie kontextu a metódu na jeho vykreslenie?

odpovede:

0 pre odpoveď č. 1

Django nemá veľkú podporu pre architektúry orientované na komponenty. Považujem to niekedy tiež za problematické. Tu budete čeliť problémom.

  1. architektúra
  2. kód

architektúra: Pretože Django nie je orientované na jednotlivé komponenty, všetky aplikácienie sú orientované ani na jeden komponent. Návrhári a programátori týchto aplikácií na to nemysleli. Takže „iba vytvorili“ zobrazenia, ktoré slúžia na prepojenie s ich aplikáciami. Budete si musieť zaobstarať niečo viac „pripojiteľné“.

kód: Len čo sa rozhodnete to postaviť, budete musieťnájsť pre to podporu. Väčšina aplikácií Django je pekne kódovaná, takže v zobrazeniach nebudete mať veľa kódu, ale budete ho abstrahovať na iných miestach. Týmto spôsobom by ste mohli tento kód znova použiť a vytvoriť si vlastné komponenty.

Príklad: Predpokladajme, že pracujete s Wiki treťou stranouaplikácia Táto wiki má zobrazenie na zobrazenie najvyššie hodnotených značiek a ďalšie zobrazenie na vytvorenie záznamu wiki. Ak je kód dosť dobrý (za predpokladu, že to je preto, že Django má celkom dobrú komunitu), môžete ho refaktorovať, aby ste mohli používať komponenty. Na vytvorenie záznamu musí byť použitý nejaký formulár, ktorý môžete zapojiť do vlastného A pohľad na získanie značiek s najvyšším hodnotením pravdepodobne používa nejakú užitočnú funkciu alebo niektorú metódu správcu značiek. V takom prípade ho môžete zrefigurovať podľa svojich vlastných potrieb.

Dúfam, že to pomôže.