Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Jan Walter
Na zalohy doporucuju pg_dump a pg_restore, nativni prikazy postgresu,
reknes si cilovy format (napr. komprese), zda mazat data, vytvaret objekty
atp. V zakladu jednoduchy, komplexni zaloha db se vsim vsudy.

Smazani a vytvoreni db take tak (createdb, dropdb, nebo obecnym psql, kam
posles query, co potrebujes).

On Fri, 26 Feb 2021, 08:28 Stanislav Vasko, 
wrote:

> Díky všem za reakci. Osobně jsem se na produkci také nikdy nevracel, ale
> tak ještě to důležité:
>
> DB spravujete přes DB aplikaci, extra, nebo jsou v Django na to příkazy,
> jako jsem uváděl níže?
>
> Standa
>
>
> On 26 February 2021 at 1:24:18, starenka . (staren...@gmail.com) wrote:
>
> Messa: session muze mit x backendu, samorejme se cachuje atd. bylo mi
> jasny uz pri psani, ze budes kejhat :)
>
> Slo o zdurazneni pointu, ze sqlite imo na produkci neceho min nez toy
> projektu nema co delat...
>
> On Fri, Feb 26, 2021, 01:11 Petr Messner  wrote:
>
>> pá 26. 2. 2021 v 0:51 odesílatel starenka .  napsal:
>>
>>> Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi
>>> znamo) nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni
>>> jeden worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve
>>> fronte (cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i
>>> "mimo tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
>>> vytizenejsi appky.
>>>
>>
>>
>> Je to v praxi (u menších aplikací) opravdu problém? I ve WAL módu?
>> https://sqlite.org/wal.html
>>
>> Jestli i obyčejný read-only přístup do session znamená nějaký zápis do
>> db, tak to možná není ideální a dá se to řešit několika způsoby. Ale dobrý
>> point, někdy je třeba na toto myslet.
>>
>> Petr M.
>>
>>>
>> --
>> --
>> E-mailová skupina django-cs@googlegroups.com
>> Správa: http://groups.google.cz/group/django-cs
>> ---
>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>> „django-cs“ ve Skupinách Google.
>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
>> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>> https://groups.google.com/d/msgid/django-cs/CAK9Q5BTYd-eumm-7pjVWFctwz9Rrpab0LpfMMBuwiophq-2-UA%40mail.gmail.com
>> 
>> .
>>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CA%2B7MNVpFKOgPSqyj1VbndGeFmUaXT67xt6QCfT0aOgfWHDuqfw%40mail.gmail.com
> 
> .
>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CAMD1ck8UOOnkpzNQy%2BKiwniegg4-%3DbHBJhgQofXCjaOhwPYgtQ%40mail.gmail.com
> 
> .
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAK-vJUk08gVrcZCt_UQToP9L9e8nO%3Ddk-ro0Tycv3Ee1kUek3Q%40mail.gmail.com.


Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Stanislav Vasko
Díky všem za reakci. Osobně jsem se na produkci také nikdy nevracel, ale
tak ještě to důležité:

DB spravujete přes DB aplikaci, extra, nebo jsou v Django na to příkazy,
jako jsem uváděl níže?

Standa


On 26 February 2021 at 1:24:18, starenka . (staren...@gmail.com) wrote:

Messa: session muze mit x backendu, samorejme se cachuje atd. bylo mi jasny
uz pri psani, ze budes kejhat :)

Slo o zdurazneni pointu, ze sqlite imo na produkci neceho min nez toy
projektu nema co delat...

On Fri, Feb 26, 2021, 01:11 Petr Messner  wrote:

> pá 26. 2. 2021 v 0:51 odesílatel starenka .  napsal:
>
>> Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi
>> znamo) nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni
>> jeden worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve
>> fronte (cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i
>> "mimo tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
>> vytizenejsi appky.
>>
>
>
> Je to v praxi (u menších aplikací) opravdu problém? I ve WAL módu?
> https://sqlite.org/wal.html
>
> Jestli i obyčejný read-only přístup do session znamená nějaký zápis do db,
> tak to možná není ideální a dá se to řešit několika způsoby. Ale dobrý
> point, někdy je třeba na toto myslet.
>
> Petr M.
>
>>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CAK9Q5BTYd-eumm-7pjVWFctwz9Rrpab0LpfMMBuwiophq-2-UA%40mail.gmail.com
> 
> .
>
-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
„django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte
https://groups.google.com/d/msgid/django-cs/CA%2B7MNVpFKOgPSqyj1VbndGeFmUaXT67xt6QCfT0aOgfWHDuqfw%40mail.gmail.com

.

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAMD1ck8UOOnkpzNQy%2BKiwniegg4-%3DbHBJhgQofXCjaOhwPYgtQ%40mail.gmail.com.


Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread starenka .
Messa: session muze mit x backendu, samorejme se cachuje atd. bylo mi jasny
uz pri psani, ze budes kejhat :)

Slo o zdurazneni pointu, ze sqlite imo na produkci neceho min nez toy
projektu nema co delat...

On Fri, Feb 26, 2021, 01:11 Petr Messner  wrote:

> pá 26. 2. 2021 v 0:51 odesílatel starenka .  napsal:
>
>> Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi
>> znamo) nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni
>> jeden worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve
>> fronte (cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i
>> "mimo tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
>> vytizenejsi appky.
>>
>
>
> Je to v praxi (u menších aplikací) opravdu problém? I ve WAL módu?
> https://sqlite.org/wal.html
>
> Jestli i obyčejný read-only přístup do session znamená nějaký zápis do db,
> tak to možná není ideální a dá se to řešit několika způsoby. Ale dobrý
> point, někdy je třeba na toto myslet.
>
> Petr M.
>
>>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CAK9Q5BTYd-eumm-7pjVWFctwz9Rrpab0LpfMMBuwiophq-2-UA%40mail.gmail.com
> 
> .
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CA%2B7MNVpFKOgPSqyj1VbndGeFmUaXT67xt6QCfT0aOgfWHDuqfw%40mail.gmail.com.


Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Honza Král
On Fri, Feb 26, 2021 at 1:10 AM Stanislav Vasko 
wrote:

> Možná užíváním SQlite mám problémy o kterých ani nevím, ale mám ji na
> webech u miniklientů s návštěvností třeba 30-100 lidí za den apod. Na
> lokále, kde verzuji, nemám v DB prakticky nic, jde prostě jen o to pohodlí,
> že když něco udělám blbě (teď jsem třeba našel ve starším projektu chybu
> práce Django s migracemi), tak prostě hodim Discard na migrace, DB a jsem
> “čistej”. Prostě pohodlí, nic neriskuji, alespoň a těchto mini věcech jsem
> nikdy nenarazil na chybu.
>
> Ale zpět k mému dotazu: jak tedy obecně pracujete s kódem vs DB? Jak se
> vracíte v čase na DB na vývoji? A máte stejné migrace na ostrém i na
> vývojovém prostředí? Opravdu umí Django tím migrate a názvem migrace “samo
> a automaticky” změnit DB na stav v jakém skutečně byla před aplikací
> následných migrací?
>

uprimne tohle jsem nikdy nepotreboval - vratit se. Kdybych to potreboval
tak to vyresim tou migraci, ktera samozrejme jde vratit, maximalne to obcas
stoji trochu usili. Ale samozrejme to nefunguje vzdy (napriklad odstraneni
tabulky/sloupecku proste nevratis bez zalohy) a tam se to resi prostou
obnovou ze zalohy. Jelikoz stav te migrace je ulozeny v db tak obnova ze
zalohy obnovi i stav tech migraci.

Muj bezny rezim je:

na testy pouzivam sqlite (zatim nepouzivam zadne postgres-only featury tak
se mi to hodi) a stejne tak pro vyvoj na lokale. Veskere data, ktera
potrebuju pro vyvoj frontendu mam ve forme fixture nebo management
commandu, ktery tu db tam automaticky naplni, pripadne si obcas neco
naklikam jako jednorazovy skript nebo pres admin pro potreby testovani.

Na produkci pak mam stalou db ktera se pravidelne zalohuje a pri kazdem
deployi (delam cca po kazdem pushi do gitu) se pusti migrace.

Snad tohle pomuze,
H

>
> Díky.
>
>
> On 26 February 2021 at 0:51:48, starenka . (staren...@gmail.com) wrote:
>
> Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi znamo)
> nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni jeden
> worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve fronte
> (cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i "mimo
> tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
> vytizenejsi appky.
>
> On Fri, Feb 26, 2021, 00:34 Honza Král  wrote:
>
>> Ahoj,
>>
>> muzu se hlavne zeptat k cemu tu databazi pouzivas? Podle tveho workflow
>> (SQLite soubor v gitu) hadam, ze jde pomerne o nestandardni pouziti atak by
>> me to zajimalo.
>>
>> Typicky totiz data vznikaji na produkci a neni treba, ani zadouci, nejak
>> zajistovat "aby byla zajištěna úzká vazba mezi verzí/stavem DB a projektem"
>> na ramec klasickych migraci schematu, coz django resi pomerne dobre.
>>
>> On Fri, Feb 26, 2021 at 12:20 AM Stanislav Vasko <
>> stanislav.va...@gmail.com> wrote:
>>
>>> Měl bych tu dotaz z kategorie začínáme s Django, ale prostě nemohu najít
>>> (možná to hledám/řeším moc složitě) jednoduché řešení. Potřeboval bych na
>>> pár projektech přejít na PostgreSQL, ale docela se bojím, resp. neumím si
>>> představit automatické zálohování a hlavně případnou práci na DB, kdyby se
>>> něco vysypalo. Zatím tyto “dospělé” SQL moc nevyužívám, protože práce s
>>> nimi je pro mne většinou komplikací.
>>>
>>> Už několik let, až na pár projektů, používám SQLite DB a jsem vlastně
>>> spokojen. Jasně, něco člověk musí oželet, ale mít DB jako soubor přímo v
>>> projektu má pro mne, a hlavně menší projekty, krásu a přináší pohodlí.
>>> Například si DB hodím do GITu s projektem a případný problém vyřeším
>>> vratkou k vybranému bodu, ostrý projekt jednoduše zkopíruju a pustím
>>> lokálně, zkopíruji projekt a mám novou microsite ready na test atd. A tady
>>> bych rád věděl jednu zásadní věc:
>>>
>>> Jak takovéto operace provádět na běžném (My/Postgre)SQL podvozku, aniž
>>> by to neznamenalo neustálé extra práci s DB a hlavně aby byla zajištěna
>>> úzká vazba mezi verzí/stavem DB a projektem? Už jen vytvoření zálohy před
>>> instalací nové verze znamená se min. extra postarat o DB a extra soubory a
>>> to si někde společně uložit. Obnovení, přenos apod., vždy extra práce.
>>> Lokálně vystavit projekt znamená někde DB export, lokálně import, upravit v
>>> settings… prostě takové, šišaté  a když jsou větší data, tak pak místo
>>> přenosu řeším limity na hostingu a další závilosti. Ale i přesto bych
>>> potřeboval PostgreSQL nebo alespoň MySQL pro projekty, které už dorostly.
>>>
>>> A co jsem zatím kdykoliv hledal a studoval, našel jsem krásné a
>>> elegantní řešení a tak si říkám, že i na toto musí Django něco nabízet. Jen
>>> to nějak v záplavě jiného, či špatných dotazů, nemohu najít. Kdysi jsem
>>> migroval z SQlite na PostgreSQL jednu rychle rostoucí aplikaci, a co si
>>> pamatuji, tak to šlo poměrně snadno jen spouhým *./manage.py dumpdata*
>>> a *./manage.py loaddata*, ale šlo o poměrně malý projekt s minimem
>>> závislostí. Dá se takto snadno řešit vše a lze tomu věřit, opravdu se data
>>> obnoví? Nebo 

Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Petr Messner
pá 26. 2. 2021 v 0:51 odesílatel starenka .  napsal:

> Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi znamo)
> nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni jeden
> worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve fronte
> (cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i "mimo
> tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
> vytizenejsi appky.
>


Je to v praxi (u menších aplikací) opravdu problém? I ve WAL módu?
https://sqlite.org/wal.html

Jestli i obyčejný read-only přístup do session znamená nějaký zápis do db,
tak to možná není ideální a dá se to řešit několika způsoby. Ale dobrý
point, někdy je třeba na toto myslet.

Petr M.

>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAK9Q5BTYd-eumm-7pjVWFctwz9Rrpab0LpfMMBuwiophq-2-UA%40mail.gmail.com.


Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Stanislav Vasko
Možná užíváním SQlite mám problémy o kterých ani nevím, ale mám ji na
webech u miniklientů s návštěvností třeba 30-100 lidí za den apod. Na
lokále, kde verzuji, nemám v DB prakticky nic, jde prostě jen o to pohodlí,
že když něco udělám blbě (teď jsem třeba našel ve starším projektu chybu
práce Django s migracemi), tak prostě hodim Discard na migrace, DB a jsem
“čistej”. Prostě pohodlí, nic neriskuji, alespoň a těchto mini věcech jsem
nikdy nenarazil na chybu.

Ale zpět k mému dotazu: jak tedy obecně pracujete s kódem vs DB? Jak se
vracíte v čase na DB na vývoji? A máte stejné migrace na ostrém i na
vývojovém prostředí? Opravdu umí Django tím migrate a názvem migrace “samo
a automaticky” změnit DB na stav v jakém skutečně byla před aplikací
následných migrací?

Díky.


On 26 February 2021 at 0:51:48, starenka . (staren...@gmail.com) wrote:

Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi znamo)
nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni jeden
worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve fronte
(cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i "mimo
tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
vytizenejsi appky.

On Fri, Feb 26, 2021, 00:34 Honza Král  wrote:

> Ahoj,
>
> muzu se hlavne zeptat k cemu tu databazi pouzivas? Podle tveho workflow
> (SQLite soubor v gitu) hadam, ze jde pomerne o nestandardni pouziti atak by
> me to zajimalo.
>
> Typicky totiz data vznikaji na produkci a neni treba, ani zadouci, nejak
> zajistovat "aby byla zajištěna úzká vazba mezi verzí/stavem DB a projektem"
> na ramec klasickych migraci schematu, coz django resi pomerne dobre.
>
> On Fri, Feb 26, 2021 at 12:20 AM Stanislav Vasko <
> stanislav.va...@gmail.com> wrote:
>
>> Měl bych tu dotaz z kategorie začínáme s Django, ale prostě nemohu najít
>> (možná to hledám/řeším moc složitě) jednoduché řešení. Potřeboval bych na
>> pár projektech přejít na PostgreSQL, ale docela se bojím, resp. neumím si
>> představit automatické zálohování a hlavně případnou práci na DB, kdyby se
>> něco vysypalo. Zatím tyto “dospělé” SQL moc nevyužívám, protože práce s
>> nimi je pro mne většinou komplikací.
>>
>> Už několik let, až na pár projektů, používám SQLite DB a jsem vlastně
>> spokojen. Jasně, něco člověk musí oželet, ale mít DB jako soubor přímo v
>> projektu má pro mne, a hlavně menší projekty, krásu a přináší pohodlí.
>> Například si DB hodím do GITu s projektem a případný problém vyřeším
>> vratkou k vybranému bodu, ostrý projekt jednoduše zkopíruju a pustím
>> lokálně, zkopíruji projekt a mám novou microsite ready na test atd. A tady
>> bych rád věděl jednu zásadní věc:
>>
>> Jak takovéto operace provádět na běžném (My/Postgre)SQL podvozku, aniž by
>> to neznamenalo neustálé extra práci s DB a hlavně aby byla zajištěna úzká
>> vazba mezi verzí/stavem DB a projektem? Už jen vytvoření zálohy před
>> instalací nové verze znamená se min. extra postarat o DB a extra soubory a
>> to si někde společně uložit. Obnovení, přenos apod., vždy extra práce.
>> Lokálně vystavit projekt znamená někde DB export, lokálně import, upravit v
>> settings… prostě takové, šišaté  a když jsou větší data, tak pak místo
>> přenosu řeším limity na hostingu a další závilosti. Ale i přesto bych
>> potřeboval PostgreSQL nebo alespoň MySQL pro projekty, které už dorostly.
>>
>> A co jsem zatím kdykoliv hledal a studoval, našel jsem krásné a elegantní
>> řešení a tak si říkám, že i na toto musí Django něco nabízet. Jen to nějak
>> v záplavě jiného, či špatných dotazů, nemohu najít. Kdysi jsem migroval z
>> SQlite na PostgreSQL jednu rychle rostoucí aplikaci, a co si pamatuji, tak
>> to šlo poměrně snadno jen spouhým *./manage.py dumpdata* a *./manage.py
>> loaddata*, ale šlo o poměrně malý projekt s minimem závislostí. Dá se
>> takto snadno řešit vše a lze tomu věřit, opravdu se data obnoví? Nebo na
>> toto má Django jiná udělátka?
>>
>> Budu rád i za pouhé nasměrování, co mi uniká a co si mám donačíst, stačí
>> link do dokumentace, už se pak chytím. Díky.
>>
>>
>> --
>> --
>> E-mailová skupina django-cs@googlegroups.com
>> Správa: http://groups.google.cz/group/django-cs
>> ---
>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>> „django-cs“ ve Skupinách Google.
>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
>> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>> https://groups.google.com/d/msgid/django-cs/CAMD1ck8socFgW6z2pjDRWfgxJ8BejPzoaXQU%3DXesv06FACnsUQ%40mail.gmail.com
>> 
>> .
>>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> 

Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread starenka .
Souhlasim s Honou a este bych rad upozornil, ze sqlite (pokud je mi znamo)
nepodoruje (narozdil od cteni) simultani zapis a tedy kdyz do ni jeden
worker/proces zapisuje, je databaze locknuta na zapis a ty cekaji ve fronte
(cteni je behem zapisu ok). Vzhledem k tomu, ze se do db zapisuje i "mimo
tvuj kod" (napr. session), neni to asi obecne idealni reseni pro
vytizenejsi appky.

On Fri, Feb 26, 2021, 00:34 Honza Král  wrote:

> Ahoj,
>
> muzu se hlavne zeptat k cemu tu databazi pouzivas? Podle tveho workflow
> (SQLite soubor v gitu) hadam, ze jde pomerne o nestandardni pouziti atak by
> me to zajimalo.
>
> Typicky totiz data vznikaji na produkci a neni treba, ani zadouci, nejak
> zajistovat "aby byla zajištěna úzká vazba mezi verzí/stavem DB a projektem"
> na ramec klasickych migraci schematu, coz django resi pomerne dobre.
>
> On Fri, Feb 26, 2021 at 12:20 AM Stanislav Vasko <
> stanislav.va...@gmail.com> wrote:
>
>> Měl bych tu dotaz z kategorie začínáme s Django, ale prostě nemohu najít
>> (možná to hledám/řeším moc složitě) jednoduché řešení. Potřeboval bych na
>> pár projektech přejít na PostgreSQL, ale docela se bojím, resp. neumím si
>> představit automatické zálohování a hlavně případnou práci na DB, kdyby se
>> něco vysypalo. Zatím tyto “dospělé” SQL moc nevyužívám, protože práce s
>> nimi je pro mne většinou komplikací.
>>
>> Už několik let, až na pár projektů, používám SQLite DB a jsem vlastně
>> spokojen. Jasně, něco člověk musí oželet, ale mít DB jako soubor přímo v
>> projektu má pro mne, a hlavně menší projekty, krásu a přináší pohodlí.
>> Například si DB hodím do GITu s projektem a případný problém vyřeším
>> vratkou k vybranému bodu, ostrý projekt jednoduše zkopíruju a pustím
>> lokálně, zkopíruji projekt a mám novou microsite ready na test atd. A tady
>> bych rád věděl jednu zásadní věc:
>>
>> Jak takovéto operace provádět na běžném (My/Postgre)SQL podvozku, aniž by
>> to neznamenalo neustálé extra práci s DB a hlavně aby byla zajištěna úzká
>> vazba mezi verzí/stavem DB a projektem? Už jen vytvoření zálohy před
>> instalací nové verze znamená se min. extra postarat o DB a extra soubory a
>> to si někde společně uložit. Obnovení, přenos apod., vždy extra práce.
>> Lokálně vystavit projekt znamená někde DB export, lokálně import, upravit v
>> settings… prostě takové, šišaté  a když jsou větší data, tak pak místo
>> přenosu řeším limity na hostingu a další závilosti. Ale i přesto bych
>> potřeboval PostgreSQL nebo alespoň MySQL pro projekty, které už dorostly.
>>
>> A co jsem zatím kdykoliv hledal a studoval, našel jsem krásné a elegantní
>> řešení a tak si říkám, že i na toto musí Django něco nabízet. Jen to nějak
>> v záplavě jiného, či špatných dotazů, nemohu najít. Kdysi jsem migroval z
>> SQlite na PostgreSQL jednu rychle rostoucí aplikaci, a co si pamatuji, tak
>> to šlo poměrně snadno jen spouhým *./manage.py dumpdata* a *./manage.py
>> loaddata*, ale šlo o poměrně malý projekt s minimem závislostí. Dá se
>> takto snadno řešit vše a lze tomu věřit, opravdu se data obnoví? Nebo na
>> toto má Django jiná udělátka?
>>
>> Budu rád i za pouhé nasměrování, co mi uniká a co si mám donačíst, stačí
>> link do dokumentace, už se pak chytím. Díky.
>>
>>
>> --
>> --
>> E-mailová skupina django-cs@googlegroups.com
>> Správa: http://groups.google.cz/group/django-cs
>> ---
>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>> „django-cs“ ve Skupinách Google.
>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
>> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>> https://groups.google.com/d/msgid/django-cs/CAMD1ck8socFgW6z2pjDRWfgxJ8BejPzoaXQU%3DXesv06FACnsUQ%40mail.gmail.com
>> 
>> .
>>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CADoCwr1%2Bj%2BAhvFN8QPS9wifHDmJkQF2kdR-yHE-whaJ%2BaP9KeA%40mail.gmail.com
> 
> .
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, 

Re: [django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Honza Král
Ahoj,

muzu se hlavne zeptat k cemu tu databazi pouzivas? Podle tveho workflow
(SQLite soubor v gitu) hadam, ze jde pomerne o nestandardni pouziti atak by
me to zajimalo.

Typicky totiz data vznikaji na produkci a neni treba, ani zadouci, nejak
zajistovat "aby byla zajištěna úzká vazba mezi verzí/stavem DB a projektem"
na ramec klasickych migraci schematu, coz django resi pomerne dobre.

On Fri, Feb 26, 2021 at 12:20 AM Stanislav Vasko 
wrote:

> Měl bych tu dotaz z kategorie začínáme s Django, ale prostě nemohu najít
> (možná to hledám/řeším moc složitě) jednoduché řešení. Potřeboval bych na
> pár projektech přejít na PostgreSQL, ale docela se bojím, resp. neumím si
> představit automatické zálohování a hlavně případnou práci na DB, kdyby se
> něco vysypalo. Zatím tyto “dospělé” SQL moc nevyužívám, protože práce s
> nimi je pro mne většinou komplikací.
>
> Už několik let, až na pár projektů, používám SQLite DB a jsem vlastně
> spokojen. Jasně, něco člověk musí oželet, ale mít DB jako soubor přímo v
> projektu má pro mne, a hlavně menší projekty, krásu a přináší pohodlí.
> Například si DB hodím do GITu s projektem a případný problém vyřeším
> vratkou k vybranému bodu, ostrý projekt jednoduše zkopíruju a pustím
> lokálně, zkopíruji projekt a mám novou microsite ready na test atd. A tady
> bych rád věděl jednu zásadní věc:
>
> Jak takovéto operace provádět na běžném (My/Postgre)SQL podvozku, aniž by
> to neznamenalo neustálé extra práci s DB a hlavně aby byla zajištěna úzká
> vazba mezi verzí/stavem DB a projektem? Už jen vytvoření zálohy před
> instalací nové verze znamená se min. extra postarat o DB a extra soubory a
> to si někde společně uložit. Obnovení, přenos apod., vždy extra práce.
> Lokálně vystavit projekt znamená někde DB export, lokálně import, upravit v
> settings… prostě takové, šišaté  a když jsou větší data, tak pak místo
> přenosu řeším limity na hostingu a další závilosti. Ale i přesto bych
> potřeboval PostgreSQL nebo alespoň MySQL pro projekty, které už dorostly.
>
> A co jsem zatím kdykoliv hledal a studoval, našel jsem krásné a elegantní
> řešení a tak si říkám, že i na toto musí Django něco nabízet. Jen to nějak
> v záplavě jiného, či špatných dotazů, nemohu najít. Kdysi jsem migroval z
> SQlite na PostgreSQL jednu rychle rostoucí aplikaci, a co si pamatuji, tak
> to šlo poměrně snadno jen spouhým *./manage.py dumpdata* a *./manage.py
> loaddata*, ale šlo o poměrně malý projekt s minimem závislostí. Dá se
> takto snadno řešit vše a lze tomu věřit, opravdu se data obnoví? Nebo na
> toto má Django jiná udělátka?
>
> Budu rád i za pouhé nasměrování, co mi uniká a co si mám donačíst, stačí
> link do dokumentace, už se pak chytím. Díky.
>
>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CAMD1ck8socFgW6z2pjDRWfgxJ8BejPzoaXQU%3DXesv06FACnsUQ%40mail.gmail.com
> 
> .
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CADoCwr1%2Bj%2BAhvFN8QPS9wifHDmJkQF2kdR-yHE-whaJ%2BaP9KeA%40mail.gmail.com.


[django-cs] Jak žít s MySQL/PostgreSQL snadno a zálohovaně?

2021-02-25 Thread Stanislav Vasko
Měl bych tu dotaz z kategorie začínáme s Django, ale prostě nemohu najít
(možná to hledám/řeším moc složitě) jednoduché řešení. Potřeboval bych na
pár projektech přejít na PostgreSQL, ale docela se bojím, resp. neumím si
představit automatické zálohování a hlavně případnou práci na DB, kdyby se
něco vysypalo. Zatím tyto “dospělé” SQL moc nevyužívám, protože práce s
nimi je pro mne většinou komplikací.

Už několik let, až na pár projektů, používám SQLite DB a jsem vlastně
spokojen. Jasně, něco člověk musí oželet, ale mít DB jako soubor přímo v
projektu má pro mne, a hlavně menší projekty, krásu a přináší pohodlí.
Například si DB hodím do GITu s projektem a případný problém vyřeším
vratkou k vybranému bodu, ostrý projekt jednoduše zkopíruju a pustím
lokálně, zkopíruji projekt a mám novou microsite ready na test atd. A tady
bych rád věděl jednu zásadní věc:

Jak takovéto operace provádět na běžném (My/Postgre)SQL podvozku, aniž by
to neznamenalo neustálé extra práci s DB a hlavně aby byla zajištěna úzká
vazba mezi verzí/stavem DB a projektem? Už jen vytvoření zálohy před
instalací nové verze znamená se min. extra postarat o DB a extra soubory a
to si někde společně uložit. Obnovení, přenos apod., vždy extra práce.
Lokálně vystavit projekt znamená někde DB export, lokálně import, upravit v
settings… prostě takové, šišaté  a když jsou větší data, tak pak místo
přenosu řeším limity na hostingu a další závilosti. Ale i přesto bych
potřeboval PostgreSQL nebo alespoň MySQL pro projekty, které už dorostly.

A co jsem zatím kdykoliv hledal a studoval, našel jsem krásné a elegantní
řešení a tak si říkám, že i na toto musí Django něco nabízet. Jen to nějak
v záplavě jiného, či špatných dotazů, nemohu najít. Kdysi jsem migroval z
SQlite na PostgreSQL jednu rychle rostoucí aplikaci, a co si pamatuji, tak
to šlo poměrně snadno jen spouhým *./manage.py dumpdata* a *./manage.py
loaddata*, ale šlo o poměrně malý projekt s minimem závislostí. Dá se takto
snadno řešit vše a lze tomu věřit, opravdu se data obnoví? Nebo na toto má
Django jiná udělátka?

Budu rád i za pouhé nasměrování, co mi uniká a co si mám donačíst, stačí
link do dokumentace, už se pak chytím. Díky.

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAMD1ck8socFgW6z2pjDRWfgxJ8BejPzoaXQU%3DXesv06FACnsUQ%40mail.gmail.com.


Re: [django-cs] Jak zjistit jméno projektu

2021-02-25 Thread Jakub Vysoky
Ve __file__ je i cesta v modulu. Takze ja jsem si to konstruoval napr v
settings.

On Mon, Feb 22, 2021 at 8:14 PM MirekZv  wrote:

> @honza
>
> S pydanny/cookiecutterem jsem dělal.
> Je to super, pokud člověk potřebuje zjistit, jak uspořádat projekt, jaká
> udělat nastavení a jak je udělat. Pro nějakého samotáře asi skoro jediná
> možnost, jak prakticky začít.
> Pokud jsi někde ve firmě, máš navíc možnost obšlehnout firemní uspořádání,
> jak si ho za léta na nějakých jiných projektech vymazlili.
>
> Ale cookiecutter zas jen rozkopírovává šablonu do projektu. Není to reuse.
> Já chci reuse. Nechci to mít 4x a těkat mezi projekty, jestli už jsem i v
> tomhle implementoval to vylepšení, co jsem udělal v jiném.
> Jasně, u settings je diskutabilní, jestli si budou mezi projekty podobné
> nebo ne. Můj názor je, že django je natolik brutálně (nechci psát:
> nadbytečně) konfigurovatelné, že většinou pojedeš se stejnými nebo velmi
> podobnými nastaveními. Proto reuse, ne rozkopírování načtyřikrát.
>
> @jakub
>
> Jasně. Ale __file__ je ten soubor, jehož kód právě běží. Pokud je tento
> soubor mimo strom projektu, tak z __file__ nic nezjistíš. Abys měl nějaké
> příklady:
> $HOME/.virtualenvs/
> $HOME/.cache/pypoetry/virtualenvs/
> apod.
>
> @radim
>
> Ty se tam dotýkáš jedné věci, která mě zajímá, ale teď s tím nebudu
> otravovat. Potřebuju už na těch projektech taky popojet, ale časem se asi k
> tomu zeptám.
>
> Díky všem.
> Dne pondělí 22. února 2021 v 16:33:15 UTC+1 uživatel honza...@gmail.com
> napsal:
>
>> Jedna z nejvetsich vyhod Djanga je jeho rozsahly ekosystem. Jak uz tady
>> psalo nekolik lidi tak tohle je vyreseny problem. Nez vymyslet vlastni
>> reseni, doporucil bych sahnout k nejake existujici sablone. Ja mam treba
>> rad https://github.com/pydanny/cookiecutter-django ze ktere jsem odvodil
>> i svuj soucasny velky projekt. Resi vsechno vcetne nasazeni do dockeru
>> pokud o to budes stat.
>>
>>
>> Honza Král
>> E-Mail: honza...@gmail.com
>> Phone:  +420 606 678585 <+420%20606%20678%20585>
>>
>>
>> On Mon, Feb 22, 2021 at 4:30 PM Radim Novotny 
>> wrote:
>>
>>> Já mám součástí deploymentu (Ansible) nastavení environment var, která
>>> obsahuje cestu, kam se to celé nainstalovalo.
>>> Ostatní settings se odvozují od toho, takže třeba
>>>
>>> PROJECT_ROOT = os.environ.get('DJANGO_PROJECT_ROOT')
>>> STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
>>>
>>> Navíc tam je i kontrola, aby to fakt bylo nastavený, takže v settings.py
>>> je
>>> if not PROJECT_ROOT:
>>> raise ImproperlyConfigured('Environment variable DJANGO_PROJECT_ROOT
>>> is not defined.')
>>>
>>> Neřeší se, kde je nainstalovaný samotný kód aplikace (python package),
>>> jestli je to venv/src/ nebo venv/lib/python. To mne už samořejmě nezajímá.
>>> Pokud by mne to zajímalo, použiju __file__.
>>>
>>> Co se týká rozdělení settings, tak je fakt, že jich mám hodně a postupně
>>> se importují. Deployment je zatím vždy na Debian a development je na
>>> Dockeru, takže je to takový šroubovaný, ale všechno je to podchycené buď v
>>> Ansible deploymentu a nebo v konfiguraci Dockeru.
>>>
>>> Možná ale vlastně potřebuješ úplně něco jinýho :) Přiznávám se, že jsem
>>> se v tom moc nezorientoval.
>>>
>>> Radim
>>>
>>> On Mon, Feb 22, 2021 at 4:04 PM Jakub Vysoky 
>>> wrote:
>>>
 Spis pouzij `__file__`

 V `settings.py` si z toho udelat `BASE_DIR` jak pises. `PROJECT_NAME`
 bych ja osobne spis napsal natvrdo, nez takhle magicky odvozoval.

 Na zorganizovani Django settings je vicero projektu a ja momentalne
 nejsem Django mega aktivni, takze nebudu konkretni doporucovat.

 On Mon, Feb 22, 2021 at 3:22 PM MirekZv  wrote:

> Závěr: Nakonec jsem se příliš bál toho `os.getcwd()` a udělal jsem si
> tuto funkci:
> ```
> import inspect
> import os
> from pathlib import Path
>
> def get_project_root():
> for prg in inspect.stack()[::-1]:
> prg = prg.filename
> if '/wsgi.py' in prg or '/asgi.py' in prg:
> return Path(prg).parent.parent
> elif '/manage.py' in prg:
> return Path(prg).parent
> else:
> return Path(os.getcwd())
>
> BASE_DIR = get_project_root()
> PROJECT_NAME = BASE_DIR.name   # to make some settings portable
> (DATABASES=..)
> PROJECT_DIR = BASE_DIR / PROJECT_NAME
> ```
>
> Dne pondělí 22. února 2021 v 15:18:01 UTC+1 uživatel MirekZv napsal:
>
>> @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 

Re: [django-cs] Django + Vue = VL? Nebo je to úplně jinak?

2021-02-25 Thread Jan Bednařík
Mám jeden projekt který má Django backend s GraphQL API. A je to super,
GraphQL je významný evoluční pokrok oproti REST. Idea byla, že frontend
vytvoří někdo jiný, proto taky GraphQL. Ale nakonec jsem ho dělal taky, a
abych nemusel přepínat mezi jazyky a technologiemi, tak je frontend taky v
Djangu. Nemá žádné modely, jen pracuje s tím GraphQL API a vykresluje z
toho web (využívám především views, templaty a formuláře). Ale pokud nevadí
vykreslování na serveru, tak je Django na frontend úplně v pohodě.

To jen tak pro zpestření, že se to dá dělat všelijak :-)

Honza

st 24. 2. 2021 v 20:17 odesílatel MirekZv  napsal:

> @Standa
>
>>
> Nevím o tom zatím nic.
> Tady je nějaké video, které bych si já chtěl zkouknout.
> https://www.youtube.com/watch?v=3eTtVY7duJk
> A pak se samozřejmě proberu názory ostatních, co napsali sem.
>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/5b9f9231-fdda-4bbc-82c8-4c3f7efd36aen%40googlegroups.com
> 
> .
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAMmgUkMHWqrNNi9X5x%2BLoV%3DxWCJFo1YQzG_bGvnGciJSdgFhqg%40mail.gmail.com.


Re: [django-cs] Jak zjistit jméno projektu

2021-02-25 Thread Jan Bednařík
Na konfiguraci z ENV proměnných doporučuji django-environ
https://django-environ.readthedocs.io/en/latest/

Honza

po 22. 2. 2021 v 20:14 odesílatel MirekZv  napsal:

> @honza
>
> S pydanny/cookiecutterem jsem dělal.
> Je to super, pokud člověk potřebuje zjistit, jak uspořádat projekt, jaká
> udělat nastavení a jak je udělat. Pro nějakého samotáře asi skoro jediná
> možnost, jak prakticky začít.
> Pokud jsi někde ve firmě, máš navíc možnost obšlehnout firemní uspořádání,
> jak si ho za léta na nějakých jiných projektech vymazlili.
>
> Ale cookiecutter zas jen rozkopírovává šablonu do projektu. Není to reuse.
> Já chci reuse. Nechci to mít 4x a těkat mezi projekty, jestli už jsem i v
> tomhle implementoval to vylepšení, co jsem udělal v jiném.
> Jasně, u settings je diskutabilní, jestli si budou mezi projekty podobné
> nebo ne. Můj názor je, že django je natolik brutálně (nechci psát:
> nadbytečně) konfigurovatelné, že většinou pojedeš se stejnými nebo velmi
> podobnými nastaveními. Proto reuse, ne rozkopírování načtyřikrát.
>
> @jakub
>
> Jasně. Ale __file__ je ten soubor, jehož kód právě běží. Pokud je tento
> soubor mimo strom projektu, tak z __file__ nic nezjistíš. Abys měl nějaké
> příklady:
> $HOME/.virtualenvs/
> $HOME/.cache/pypoetry/virtualenvs/
> apod.
>
> @radim
>
> Ty se tam dotýkáš jedné věci, která mě zajímá, ale teď s tím nebudu
> otravovat. Potřebuju už na těch projektech taky popojet, ale časem se asi k
> tomu zeptám.
>
> Díky všem.
> Dne pondělí 22. února 2021 v 16:33:15 UTC+1 uživatel honza...@gmail.com
> napsal:
>
>> Jedna z nejvetsich vyhod Djanga je jeho rozsahly ekosystem. Jak uz tady
>> psalo nekolik lidi tak tohle je vyreseny problem. Nez vymyslet vlastni
>> reseni, doporucil bych sahnout k nejake existujici sablone. Ja mam treba
>> rad https://github.com/pydanny/cookiecutter-django ze ktere jsem odvodil
>> i svuj soucasny velky projekt. Resi vsechno vcetne nasazeni do dockeru
>> pokud o to budes stat.
>>
>>
>> Honza Král
>> E-Mail: honza...@gmail.com
>> Phone:  +420 606 678585 <+420%20606%20678%20585>
>>
>>
>> On Mon, Feb 22, 2021 at 4:30 PM Radim Novotny 
>> wrote:
>>
>>> Já mám součástí deploymentu (Ansible) nastavení environment var, která
>>> obsahuje cestu, kam se to celé nainstalovalo.
>>> Ostatní settings se odvozují od toho, takže třeba
>>>
>>> PROJECT_ROOT = os.environ.get('DJANGO_PROJECT_ROOT')
>>> STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
>>>
>>> Navíc tam je i kontrola, aby to fakt bylo nastavený, takže v settings.py
>>> je
>>> if not PROJECT_ROOT:
>>> raise ImproperlyConfigured('Environment variable DJANGO_PROJECT_ROOT
>>> is not defined.')
>>>
>>> Neřeší se, kde je nainstalovaný samotný kód aplikace (python package),
>>> jestli je to venv/src/ nebo venv/lib/python. To mne už samořejmě nezajímá.
>>> Pokud by mne to zajímalo, použiju __file__.
>>>
>>> Co se týká rozdělení settings, tak je fakt, že jich mám hodně a postupně
>>> se importují. Deployment je zatím vždy na Debian a development je na
>>> Dockeru, takže je to takový šroubovaný, ale všechno je to podchycené buď v
>>> Ansible deploymentu a nebo v konfiguraci Dockeru.
>>>
>>> Možná ale vlastně potřebuješ úplně něco jinýho :) Přiznávám se, že jsem
>>> se v tom moc nezorientoval.
>>>
>>> Radim
>>>
>>> On Mon, Feb 22, 2021 at 4:04 PM Jakub Vysoky 
>>> wrote:
>>>
 Spis pouzij `__file__`

 V `settings.py` si z toho udelat `BASE_DIR` jak pises. `PROJECT_NAME`
 bych ja osobne spis napsal natvrdo, nez takhle magicky odvozoval.

 Na zorganizovani Django settings je vicero projektu a ja momentalne
 nejsem Django mega aktivni, takze nebudu konkretni doporucovat.

 On Mon, Feb 22, 2021 at 3:22 PM MirekZv  wrote:

> Závěr: Nakonec jsem se příliš bál toho `os.getcwd()` a udělal jsem si
> tuto funkci:
> ```
> import inspect
> import os
> from pathlib import Path
>
> def get_project_root():
> for prg in inspect.stack()[::-1]:
> prg = prg.filename
> if '/wsgi.py' in prg or '/asgi.py' in prg:
> return Path(prg).parent.parent
> elif '/manage.py' in prg:
> return Path(prg).parent
> else:
> return Path(os.getcwd())
>
> BASE_DIR = get_project_root()
> PROJECT_NAME = BASE_DIR.name   # to make some settings portable
> (DATABASES=..)
> PROJECT_DIR = BASE_DIR / PROJECT_NAME
> ```
>
> Dne pondělí 22. února 2021 v 15:18:01 UTC+1 uživatel MirekZv napsal:
>
>> @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