Jonas Havelka
2 weeks ago
3 changed files with 91 additions and 2 deletions
@ -0,0 +1,86 @@ |
|||||
|
Zkratky aplikací ve zdrojácích |
||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
||||
|
|
||||
|
Ve zdrojácích (zejména různé ``models.py``, ``views.py`` ap.) používáme spoustu |
||||
|
modelů. Někdy je praktičtější / někdo preferuje importovat celou aplikaci jako |
||||
|
jedno jméno a používat modely bez explicitních importů, tj:: |
||||
|
|
||||
|
# „hromadné“ importy: |
||||
|
import personalni.models as p |
||||
|
... |
||||
|
p.Organizator.objects.all() |
||||
|
|
||||
|
# „explicitní“ importy: |
||||
|
from personalni.models import Organizator |
||||
|
... |
||||
|
Organizator.objects.all() |
||||
|
|
||||
|
Na webschůzce 2024-11-05 jsme na toto téma otevřeli diskusi, tady je její závěr. |
||||
|
|
||||
|
.. admonition:: Historické okénko |
||||
|
:class: note |
||||
|
|
||||
|
Kdysi jsme měli (prakticky) všechny modely v jedné aplikaci, ``seminar``. Na |
||||
|
různých místech se pak ``seminar.models`` importovalo typicky jako ``s`` |
||||
|
nebo jako ``m``. |
||||
|
|
||||
|
Přirozeně, toto už nejde tak snadno, protože už neexistuje jedno místo, ze |
||||
|
kterého chceme tahat modely v kódu. |
||||
|
|
||||
|
Konvence |
||||
|
======== |
||||
|
|
||||
|
Shodli jsme se, že nám rozhodně nevadí explicitní importy a z pohledu |
||||
|
čitelnosti je preferujeme. Nicméně při psaní kódu to některým webařům přijde |
||||
|
nepohodlné, takže očekáváme, že bude existovat spousta kódu, která bude chtít |
||||
|
importovat hromadně. Usnesli jsme se proto na následujících kanonických |
||||
|
zkratkách, aby se aplikace alespoň zkracovaly konzistentně. |
||||
|
|
||||
|
V závorkách je uvedené případné jméno, ale nepředpokládáme, že někdo bude danou |
||||
|
aplikaci chtít importovat hromadně. Některé aplikace zkratku nemají, ty se |
||||
|
importují vždy pod plným jménem nebo explicitně. |
||||
|
|
||||
|
.. list-table:: |
||||
|
:header-rows: 1 |
||||
|
|
||||
|
* - Model |
||||
|
- Zkratka |
||||
|
* - ``aesop`` |
||||
|
- --- |
||||
|
* - ``api`` |
||||
|
- --- (``api``) |
||||
|
* - ``galerie`` |
||||
|
- ``g`` |
||||
|
* - ``header_fotky`` |
||||
|
- --- (``hdr``) |
||||
|
* - ``korektury`` |
||||
|
- ``kor`` |
||||
|
* - ``novinky`` |
||||
|
- ``nov`` |
||||
|
* - ``odevzdavatko`` |
||||
|
- ``odev`` |
||||
|
* - ``personální`` |
||||
|
- ``pers``/``p`` |
||||
|
* - ``sifrovacka`` |
||||
|
- (``sifr``) |
||||
|
* - ``soustredeni`` |
||||
|
- ``sou`` |
||||
|
* - ``treenode`` |
||||
|
- ``tn`` |
||||
|
* - ``tvorba`` |
||||
|
- ``tv`` |
||||
|
* - ``various`` |
||||
|
- ``v``/``var`` |
||||
|
* - ``vyroci`` |
||||
|
- --- |
||||
|
* - ``vysledkovky`` |
||||
|
- ``vysl`` |
||||
|
|
||||
|
|
||||
|
.. admonition:: O všech modelech pod jedním jménem |
||||
|
:class: warning |
||||
|
|
||||
|
Historické okénko výš zatajuje jeden detail: Při práci v shellu se hodí mít |
||||
|
modely k dispozici a nemuset přemýšlet nad dělením do aplikací, takže ve |
||||
|
skutečnosti existuje ``mamweb.vsechno``, jenž všechny modely obsahuje. |
||||
|
Z čitelnostních důvodů je ale *zakázáno* tento modul používat v kódu. |
Loading…
Reference in new issue