@Honza, @starenka
Ahoj chlapi, především díky za vlídné a věcné odpovědi, čekal jsem spíš, že po této otázce už na mě někdo vlítne a pěkně mi vynadá.
Jo, máte přesně pravdu, bylo by to asi lepší (získat to v umístění projektu a předat to nějakým parametrem), než účelu nepřiměřené úsilí, co se s tím snažím dělat.
Přidám nějakou story, jak jsem se do té situace dostal, snad z toho bude něco jasnější, i když osobně jsem nad svým postupem dost na rozpacích:
1. Nejdřív jsem copy/pastoval ze starého projektu pro vytvoření nového, jak se to asi běžně dělá.
2. Pak jsem začal myslet na nějaký reuse, tak jsem si udělal jednu django aplikaci na věci, které by asi byly potřebné ve 2+ projektech.
3. Pak mě začalo štvát, že tu aplikaci mám pod jednotlivými projekty, takže když ji někde změním, neměl bych zapomenout jít i do těch ostatních projektů a udělat v ní stejné změny i tam.
4. Pak jsem tu django aplikaci obecností odkopíroval do adresáře mimo, udělal jí vlastní git repozitář, a instaluji ji nějak jako `poetry add ../../obecna`
5. Pak mě začalo štvát, že běžná django settings mají tak 200 řádek kódu, stejně jsou vždycky skoro stejná, a když tam něco vylepším, tak zas abych šel po projektech a implementoval vylepšení i do ostatních (a nebo v tom měl chaos).
6. Pak jsem si zkusil jakési django-split-settings, rozdělil ten mega-file na 10 malých (vypadá to dobře, ale o vhodnosti tohoto mám velké pochyby, protože to už jsme možná trochu u zacházení s jmennými prostory jako ve Web2py).
7. Pak jsem většinu nastavení přepsal tak, aby byla obecná, bez závislostí na projektu. Příklad: Nemám důvod, proč by se moje postgres databáze neměla jmenovat stejně jako projekt. Tak proč psát do nastavení natvrdo jméno databáze? - toto je další věc, kterou na Djangu nemám rád, že když dělá startproject, tak rozkopíruje po x souborech na y míst jméno projektu jako string.
8. Pak jsem (ze stejných důvodů jako výše) to odsunul mimo ty mé projekty.
Takže: mohl bych si to nastavit v projektech a předat jako parametr. Ale čím míň toho zůstane customizovaného pro projekty, tím lépe.
Navíc to django-split-settings se volá pomocí jakýchsi funkcí include() a optional() a nejsem si tak úplně jistý, jak snadno tam jdou parametry předávat.
Dne pondělí 22. února 2021 v 14:58:03 UTC+1 uživatel MirekZv napsal: