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

2021-02-26 Thread starenka .
V 99% pres 'manage.py dbshell'

On Fri, Feb 26, 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 zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CA%2B7MNVqBUp2d59hFG1oE67R7X69H2ypGGU2xghAVkbNg8rzEuA%40mail.gmail.com.


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

2021-02-26 Thread Vladimir Linhart
Ja bych ten prechod na velkou DB odkladal dokud to fakt nebudes potrebovat
- db na jinem stroji
- pomala sqlite
- problemy se zapisem
- chces vyuzit featury postgresu

Taky pouzivam sqlite na spouste mensich projektu a to pohodli/cas ma
velkou cenu.

On Fri, Feb 26, 2021 at 9:17 AM starenka .  wrote:
>
> V 99% pres 'manage.py dbshell'
>
> On Fri, Feb 26, 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/CA%2B7MNVqBUp2d59hFG1oE67R7X69H2ypGGU2xghAVkbNg8rzEuA%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/CAFrZPmRsgJfTPOvuHCVdyQWqy%2B%2B-sE-8TN8%2Bgjhr1HOnNaKMZw%40mail.gmail.com.


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

2021-02-26 Thread Jan Walter
@starenka umis pres dbshell i zalohu?

On Fri, 26 Feb 2021, 09:26 Vladimir Linhart, 
wrote:

> Ja bych ten prechod na velkou DB odkladal dokud to fakt nebudes potrebovat
> - db na jinem stroji
> - pomala sqlite
> - problemy se zapisem
> - chces vyuzit featury postgresu
>
> Taky pouzivam sqlite na spouste mensich projektu a to pohodli/cas ma
> velkou cenu.
>
> On Fri, Feb 26, 2021 at 9:17 AM starenka .  wrote:
> >
> > V 99% pres 'manage.py dbshell'
> >
> > On Fri, Feb 26, 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/CA%2B7MNVqBUp2d59hFG1oE67R7X69H2ypGGU2xghAVkbNg8rzEuA%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/CAFrZPmRsgJfTPOvuHCVdyQWqy%2B%2B-sE-8TN8%2Bgjhr1HOnNaKMZw%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-vJU%3Duev%3D254F8%2BwmJXKXsLmNxsnQsT7n6Mma%2B%3DLhdSAXSOg%40mail.gmail.com.


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

2021-02-26 Thread starenka .
To je to jedno procento :)

On Fri, Feb 26, 2021, 09:47 Jan Walter  wrote:

> @starenka umis pres dbshell i zalohu?
>
> On Fri, 26 Feb 2021, 09:26 Vladimir Linhart, 
> wrote:
>
>> Ja bych ten prechod na velkou DB odkladal dokud to fakt nebudes potrebovat
>> - db na jinem stroji
>> - pomala sqlite
>> - problemy se zapisem
>> - chces vyuzit featury postgresu
>>
>> Taky pouzivam sqlite na spouste mensich projektu a to pohodli/cas ma
>> velkou cenu.
>>
>> On Fri, Feb 26, 2021 at 9:17 AM starenka .  wrote:
>> >
>> > V 99% pres 'manage.py dbshell'
>> >
>> > On Fri, Feb 26, 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/CA%2B7MNVqBUp2d59hFG1oE67R7X69H2ypGGU2xghAVkbNg8rzEuA%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/CAFrZPmRsgJfTPOvuHCVdyQWqy%2B%2B-sE-8TN8%2Bgjhr1HOnNaKMZw%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/CAK-vJU%3Duev%3D254F8%2BwmJXKXsLmNxsnQsT7n6Mma%2B%3DLhdSAXSOg%40mail.gmail.com
> 

[django-cs] Jak co nejlépe a obecně na popupy?

2021-02-26 Thread MirekZv
Mám ne moc minimalistické, ale pro reálné projekty nutné požadavky na 
popupy (select+options) ve formulářích:
1. ajaxem získávané options (mimo admin i v něm) - všude a vždy, i když 
kdyby to umělo automaticky vypnout, když je v modelu méně než např. 100 
položek, nevadilo by,
2. dynamický filtr pro options, zejména když jsou relačně závislé popupy 
(opět mimo admin i v adminu, včetně inlinů); příklad: country & city: jen 
cities z vybrané country mají být na výběr.

Implementoval jsem toto
https://simpleisbetterthancomplex.com/tutorial/2018/01/29/how-to-implement-dependent-or-chained-dropdown-list-with-django.html
včetně funkcionality (2) v inlinech a dokážu to zprovoznit.

Ale je zatím dost individuální práce pro každý případ, lepší by bylo něco 
generického.
A neřeší to ten ajax.

Je nějaká rozumná cesta, jak dosáhnout (1)+(2) všude v aplikaci?
Které packages přidat do projektu? django-autocomplete-light? a ještě něco?

Díky...
PS: samozřejmě, když jsem šel na Django, tak jsem se domníval, že tam jdu 
proto, že takovéto věci dělá out-of-the-box. Ach ta moje naivita.

Best regards,
Mirek

-- 
-- 
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/d1743ed4-73cb-4a1b-b305-b4d6c83920afn%40googlegroups.com.


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

2021-02-26 Thread MirekZv
@jakub
Ahoj Jakube. Čteš i co jsem Ti napsal? Trochu Tě podezírám, že ne. Nebo Ti 
nerozumím.
Já to umím zkonstruovat z __file__, ale když je to v package, která je 
někde ve virtualenvs, tak je ve __file__ něco jiného, než si myslíš Ty.

Dne čtvrtek 25. února 2021 v 14:59:21 UTC+1 uživatel jakub@gmail.com 
napsal:

> 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, @starenk

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

2021-02-26 Thread MirekZv
@Honza(jan.be..)
Ahoj. Já jsem django-environ snad trochu používal (už si přesně 
nepamatuju), ale protože to zatím nedávám nikam do cloudu, ale na virtuální 
server, tak jsem nakonec ENV proměnné, aspoň prozatím, úplně opustil.
Používám místo toho klasický ini file, někde v /etc/django/myproject.ini, 
který čtu pomocí RawConfigParser ze standardní knihovny.

Dne pátek 26. února 2021 v 10:28:02 UTC+1 uživatel MirekZv napsal:

> @jakub
> Ahoj Jakube. Čteš i co jsem Ti napsal? Trochu Tě podezírám, že ne. Nebo Ti 
> nerozumím.
> Já to umím zkonstruovat z __file__, ale když je to v package, která je 
> někde ve virtualenvs, tak je ve __file__ něco jiného, než si myslíš Ty.
>
> Dne čtvrtek 25. února 2021 v 14:59:21 UTC+1 uživatel jakub@gmail.com 
> napsal:
>
>> 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 = pr

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

2021-02-26 Thread Jan Bednařík
Na produkci vždy PostgreSQL (zálohování obvykle řeší někdo jiný). Na lokále
pro vývoj taky PostgreSQL (puštěná v Dockeru), protože tak mám větší
jistotu, že vše pojede i v produkci (SQLite není 100% kompatibilní s
PostgreSQL). A je snazší si loadnout dump/zálohu produkční databáze na
lokál, když je to stejný typ databáze.

V zásadě potřebuju na lokále jen dva manage.py commandy - makemigrations a
migrate. Na produkci jen migrate, který se spustí při startu aplikačního
kontejneru před spuštěním webserveru.

Přes SQL a dbshell téměř nikdy na DB nekoukám. Všechno přes Django shell
(protože přetížené save metody, signály, a podobné vedlejší efekty),
respektive shell_plus z Django-extensions.

Honza

pá 26. 2. 2021 v 10:19 odesílatel starenka .  napsal:

> To je to jedno procento :)
>
> On Fri, Feb 26, 2021, 09:47 Jan Walter  wrote:
>
>> @starenka umis pres dbshell i zalohu?
>>
>> On Fri, 26 Feb 2021, 09:26 Vladimir Linhart, 
>> wrote:
>>
>>> Ja bych ten prechod na velkou DB odkladal dokud to fakt nebudes
>>> potrebovat
>>> - db na jinem stroji
>>> - pomala sqlite
>>> - problemy se zapisem
>>> - chces vyuzit featury postgresu
>>>
>>> Taky pouzivam sqlite na spouste mensich projektu a to pohodli/cas ma
>>> velkou cenu.
>>>
>>> On Fri, Feb 26, 2021 at 9:17 AM starenka .  wrote:
>>> >
>>> > V 99% pres 'manage.py dbshell'
>>> >
>>> > On Fri, Feb 26, 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/CA%2B7MNVqBUp2d59hFG1oE67R7X69H2ypGGU2xghAVkbNg8rzEuA%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š

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

2021-02-26 Thread Vladimír Macek
Mirku, každý jsme nějak začínali a někteří jsme psali dlouhé dotazy s 
představou, že svět budou naše problémy zajímat.


Číst tvoje texty je otravné, z větší části proto, že z nich sálá nedostatek 
pokory. To se ti tu lidi snažili naznačit.


Pokud budeš ještě svoje výlevy upgradovat ad hominem, dospěješ k tomu, že 
budeš už zcela ignorovaný.


Tohle jsem napsal, abych ti poskytl reflexi, která by ti mohla pomoct. 
Prosím tě, neodpovídej na ni.


V.


On 26. 02. 21 10:28, MirekZv wrote:

@jakub
Ahoj Jakube. Čteš i co jsem Ti napsal? Trochu Tě podezírám, že ne. Nebo 
Ti nerozumím.
Já to umím zkonstruovat z __file__, ale když je to v package, která je 
někde ve virtualenvs, tak je ve __file__ něco jiného, než si myslíš Ty.




--
--
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/6c0feded-9e5a-2cda-a522-977a70103462%40sandbox.cz.


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

2021-02-26 Thread MirekZv
@stanislav

Já jsem si 2012 ve Web2py udělal účetnictví pro občanské sdružení, který 
čte z FIO platby, podle VarSymb je rozděluje lidem, kámošova aplikace (C#) 
z toho zas tahá platby za akce.
Běží to na alwaysdata dlouhé roky. S SQLite.

Takže Tvoje a moje (a jistě nejen) zkušenost je, že s SQLite se na málo 
zatížené produkci dá.
Nicméně s přechodem na Django jsem přešel striktně na Postgres, na vývoji i 
produkci. Dělám taky pro jednu firmu, tam je to stejné.
Asi bych nechtěl na vývoji SQLite a na produkci Postgres.

Jedu všude Debian 10, bez kontejnerů.
Mám univerzální konfiguraci databáze takto:
import getpass
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',  # případně 
django.contrib.gis.db.backends.postgis
'NAME': PROJECT_NAME,
'USER': getpass.getuser(),
'PASSWORD': envget('main', 'DB_DEFAULT_PASSWORD'),
'HOST': 'localhost',
'PORT': 5432,
'ATOMIC_REQUESTS': True,
'CONN_MAX_AGE': 1800,
}
}

Databázi tedy vytvářím pod non-root uživatelem, identickým s Debian 
uživatelem (při víc projektech možná uvažovat o nestejných uživatelích?).
Ten envget() někde načte to heslo bezpečným způsobem (z ENV proměnných, 
nebo já - jak jsem psal v sousedním vlákně - to čtu přes RawConfigParser z 
/etc/django/project.ini).
Dne pátek 26. února 2021 v 10:34:34 UTC+1 uživatel jan.be...@gmail.com 
napsal:

> Na produkci vždy PostgreSQL (zálohování obvykle řeší někdo jiný). Na 
> lokále pro vývoj taky PostgreSQL (puštěná v Dockeru), protože tak mám větší 
> jistotu, že vše pojede i v produkci (SQLite není 100% kompatibilní s 
> PostgreSQL). A je snazší si loadnout dump/zálohu produkční databáze na 
> lokál, když je to stejný typ databáze.
>
> V zásadě potřebuju na lokále jen dva manage.py commandy - makemigrations a 
> migrate. Na produkci jen migrate, který se spustí při startu aplikačního 
> kontejneru před spuštěním webserveru.
>
> Přes SQL a dbshell téměř nikdy na DB nekoukám. Všechno přes Django shell 
> (protože přetížené save metody, signály, a podobné vedlejší efekty), 
> respektive shell_plus z Django-extensions.
>
> Honza
>
> pá 26. 2. 2021 v 10:19 odesílatel starenka .  napsal:
>
>> To je to jedno procento :)
>>
>> On Fri, Feb 26, 2021, 09:47 Jan Walter  wrote:
>>
>>> @starenka umis pres dbshell i zalohu?
>>>
>>> On Fri, 26 Feb 2021, 09:26 Vladimir Linhart,  
>>> wrote:
>>>
 Ja bych ten prechod na velkou DB odkladal dokud to fakt nebudes 
 potrebovat
 - db na jinem stroji
 - pomala sqlite
 - problemy se zapisem
 - chces vyuzit featury postgresu

 Taky pouzivam sqlite na spouste mensich projektu a to pohodli/cas ma
 velkou cenu.

 On Fri, Feb 26, 2021 at 9:17 AM starenka .  wrote:
 >
 > V 99% pres 'manage.py dbshell'
 >
 > On Fri, Feb 26, 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 . (star...@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 djan...@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+...@googlegroups.com.
 >>> Chcete-li tuto diskusi zobrazit na webu, navštivte 
 https://groups.google.com/d/msgid/django-cs/CAK9Q5BTYd-eumm-7pjVWFctwz9

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

2021-02-26 Thread MirekZv
Postgres na Debian nainstaluji:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release 
-cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo 
apt-key add -
sudo apt update
sudo apt install postgresql postgresql-contrib postgresql-13 
postgresql-server-dev-13 libpq-dev python3-dev  # bez této repo, přímo z 
debian-stable bude dost opožděná verze (11?)

Pokud bych potřeboval upgradovat, držím se super návodu v tomto článku:
https://www.kostolansky.sk/posts/upgrading-to-postgresql-12/

Pak si udělám stejnojmenného uživatele s linux účtem:
su
su - postgres
psql
\password# jen když to kvůli něčemu potřebuju, např. pokud by mi 
pro přístup z DBeaver nestačil user mirek
create role mirek login createdb;
alter role mirek password '';
alter role mirek set client_encoding to 'utf8';
alter role mirek set default_transaction_isolation to 'read committed';
alter role mirek set timezone to 'Europe/Prague';  # v původním popisu bylo 
'UTC'
create database "mirek" WITH OWNER = "mirek" ENCODING = 'UTF8';

Tím mi psql poběží bez potíží i pod tím normálním uživatelem (je potřeba 
stejnojmenná databáze, abych ji nemusel explicitně zadávat).
Do databáze koukám přes `.manage.py shell_plus`(ze django-extensions) a 
nebo přímo pomocí DBeaver.
Dne pátek 26. února 2021 v 10:52:01 UTC+1 uživatel MirekZv napsal:

> @stanislav
>
> Já jsem si 2012 ve Web2py udělal účetnictví pro občanské sdružení, který 
> čte z FIO platby, podle VarSymb je rozděluje lidem, kámošova aplikace (C#) 
> z toho zas tahá platby za akce.
> Běží to na alwaysdata dlouhé roky. S SQLite.
>
> Takže Tvoje a moje (a jistě nejen) zkušenost je, že s SQLite se na málo 
> zatížené produkci dá.
> Nicméně s přechodem na Django jsem přešel striktně na Postgres, na vývoji 
> i produkci. Dělám taky pro jednu firmu, tam je to stejné.
> Asi bych nechtěl na vývoji SQLite a na produkci Postgres.
>
> Jedu všude Debian 10, bez kontejnerů.
> Mám univerzální konfiguraci databáze takto:
> import getpass
> DATABASES = {
> 'default': {
> 'ENGINE': 'django.db.backends.postgresql',  # případně 
> django.contrib.gis.db.backends.postgis
> 'NAME': PROJECT_NAME,
> 'USER': getpass.getuser(),
> 'PASSWORD': envget('main', 'DB_DEFAULT_PASSWORD'),
> 'HOST': 'localhost',
> 'PORT': 5432,
> 'ATOMIC_REQUESTS': True,
> 'CONN_MAX_AGE': 1800,
> }
> }
>
> Databázi tedy vytvářím pod non-root uživatelem, identickým s Debian 
> uživatelem (při víc projektech možná uvažovat o nestejných uživatelích?).
> Ten envget() někde načte to heslo bezpečným způsobem (z ENV proměnných, 
> nebo já - jak jsem psal v sousedním vlákně - to čtu přes RawConfigParser z 
> /etc/django/project.ini).
> Dne pátek 26. února 2021 v 10:34:34 UTC+1 uživatel jan.be...@gmail.com 
> napsal:
>
>> Na produkci vždy PostgreSQL (zálohování obvykle řeší někdo jiný). Na 
>> lokále pro vývoj taky PostgreSQL (puštěná v Dockeru), protože tak mám větší 
>> jistotu, že vše pojede i v produkci (SQLite není 100% kompatibilní s 
>> PostgreSQL). A je snazší si loadnout dump/zálohu produkční databáze na 
>> lokál, když je to stejný typ databáze.
>>
>> V zásadě potřebuju na lokále jen dva manage.py commandy - makemigrations 
>> a migrate. Na produkci jen migrate, který se spustí při startu aplikačního 
>> kontejneru před spuštěním webserveru.
>>
>> Přes SQL a dbshell téměř nikdy na DB nekoukám. Všechno přes Django shell 
>> (protože přetížené save metody, signály, a podobné vedlejší efekty), 
>> respektive shell_plus z Django-extensions.
>>
>> Honza
>>
>> pá 26. 2. 2021 v 10:19 odesílatel starenka .  napsal:
>>
>>> To je to jedno procento :)
>>>
>>> On Fri, Feb 26, 2021, 09:47 Jan Walter  wrote:
>>>
 @starenka umis pres dbshell i zalohu?

 On Fri, 26 Feb 2021, 09:26 Vladimir Linhart,  
 wrote:

> Ja bych ten prechod na velkou DB odkladal dokud to fakt nebudes 
> potrebovat
> - db na jinem stroji
> - pomala sqlite
> - problemy se zapisem
> - chces vyuzit featury postgresu
>
> Taky pouzivam sqlite na spouste mensich projektu a to pohodli/cas ma
> velkou cenu.
>
> On Fri, Feb 26, 2021 at 9:17 AM starenka .  wrote:
> >
> > V 99% pres 'manage.py dbshell'
> >
> > On Fri, Feb 26, 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 . (star...@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

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

2021-02-26 Thread MirekZv
Create/Recreate databáze:
psql# normální uživatel z adresáře projektu
DROP DATABASE "mujprojekt";
CREATE DATABASE "mujprojekt" WITH OWNER = "mirek" ENCODING = 'UTF8';

Zálohování jsi sám zmínil: dumpdata jsou ok, jen je tam podraz, že někdy 
musíš vysedět, že nesmíš exportovat všechno.
Takže nejdřív a po zásadnějších změnách schématu odzkoušej, že loaddata 
opravdu zálohu obnoví. Pokud ne, musí dumpdata mít -e na některé tabulky 
(např. contenttype - pogoogli, které jsou problematické).

K záloze jsem potřeboval další trvale běžící stroj (kromě virtuálu u 
Forpsi), udělal jsem to takto:
neosvědčil se dropbox: nějaký problém s instalací
neosvědčil se pcloud: nelze čistě command line (potřebuje gui)
neosvědčil se megatools: Je nezávislý na mega a standardně v Debian 
distibuci, jenže mega občas upgraduje api a megatools nestíhá sledovat
osvědčil se megacmd: to je oficiální od mega
záloha jde po linii: server -> mega.nz cloud -> local (např. developer 
machine) POZOR: nic nerušit na local mašinách, aby se nesyncnulo zpětně

v cronu je pod normálním uživatelem něco jako:
@reboot sleep 30 && mega-login xxweb...@gmail.com "pwd" && mega-sync 
/home/mirek/bk/mega_xxweb_eu bk/xxweb
14 18 * * * pg_dump xxweb | gzip > /home/mirek/bk/mega_xxweb_eu/xxweb0a.gz
14 06 * * * pg_dump xxweb | gzip > /home/mirek/bk/mega_xxweb_eu/xxweb0b.gz
29 * * * * pg_dump xxweb | gzip > /home/mirek/bk/mega_xxweb_eu/xxweb1.gz
59 * * * * pg_dump xxweb | gzip > /home/mirek/bk/mega_xxweb_eu/xxweb2.gz

... nebo teda dumpdata. Jasně, toto je jen primitivní řešení narychlo.
Jinak co vím, s Postgresem se dá dělat ten WAL a při crashi dojet do stavu 
před crashem, případně i mít v provozu 2 mašiny a na druhou se 
synchronizovanou db to hned přepnout.
O tom moc nevím, jsem amatér.
Dne pátek 26. února 2021 v 11:01:54 UTC+1 uživatel MirekZv napsal:

> Postgres na Debian nainstaluji:
> sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt 
> $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
> wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | 
> sudo apt-key add -
> sudo apt update
> sudo apt install postgresql postgresql-contrib postgresql-13 
> postgresql-server-dev-13 libpq-dev python3-dev  # bez této repo, přímo z 
> debian-stable bude dost opožděná verze (11?)
>
> Pokud bych potřeboval upgradovat, držím se super návodu v tomto článku:
> https://www.kostolansky.sk/posts/upgrading-to-postgresql-12/
>
> Pak si udělám stejnojmenného uživatele s linux účtem:
> su
> su - postgres
> psql
> \password# jen když to kvůli něčemu potřebuju, např. pokud by mi 
> pro přístup z DBeaver nestačil user mirek
> create role mirek login createdb;
> alter role mirek password '';
> alter role mirek set client_encoding to 'utf8';
> alter role mirek set default_transaction_isolation to 'read committed';
> alter role mirek set timezone to 'Europe/Prague';  # v původním popisu 
> bylo 'UTC'
> create database "mirek" WITH OWNER = "mirek" ENCODING = 'UTF8';
>
> Tím mi psql poběží bez potíží i pod tím normálním uživatelem (je potřeba 
> stejnojmenná databáze, abych ji nemusel explicitně zadávat).
> Do databáze koukám přes `.manage.py shell_plus`(ze django-extensions) a 
> nebo přímo pomocí DBeaver.
> Dne pátek 26. února 2021 v 10:52:01 UTC+1 uživatel MirekZv napsal:
>
>> @stanislav
>>
>> Já jsem si 2012 ve Web2py udělal účetnictví pro občanské sdružení, který 
>> čte z FIO platby, podle VarSymb je rozděluje lidem, kámošova aplikace (C#) 
>> z toho zas tahá platby za akce.
>> Běží to na alwaysdata dlouhé roky. S SQLite.
>>
>> Takže Tvoje a moje (a jistě nejen) zkušenost je, že s SQLite se na málo 
>> zatížené produkci dá.
>> Nicméně s přechodem na Django jsem přešel striktně na Postgres, na vývoji 
>> i produkci. Dělám taky pro jednu firmu, tam je to stejné.
>> Asi bych nechtěl na vývoji SQLite a na produkci Postgres.
>>
>> Jedu všude Debian 10, bez kontejnerů.
>> Mám univerzální konfiguraci databáze takto:
>> import getpass
>> DATABASES = {
>> 'default': {
>> 'ENGINE': 'django.db.backends.postgresql',  # případně 
>> django.contrib.gis.db.backends.postgis
>> 'NAME': PROJECT_NAME,
>> 'USER': getpass.getuser(),
>> 'PASSWORD': envget('main', 'DB_DEFAULT_PASSWORD'),
>> 'HOST': 'localhost',
>> 'PORT': 5432,
>> 'ATOMIC_REQUESTS': True,
>> 'CONN_MAX_AGE': 1800,
>> }
>> }
>>
>> Databázi tedy vytvářím pod non-root uživatelem, identickým s Debian 
>> uživatelem (při víc projektech možná uvažovat o nestejných uživatelích?).
>> Ten envget() někde načte to heslo bezpečným způsobem (z ENV proměnných, 
>> nebo já - jak jsem psal v sousedním vlákně - to čtu přes RawConfigParser z 
>> /etc/django/project.ini).
>> Dne pátek 26. února 2021 v 10:34:34 UTC+1 uživatel jan.be...@gmail.com 
>> napsal:
>>
>>> Na produkci vždy PostgreSQL (zálohování obvykle řeší někdo jiný). Na 
>>> lokále pro vývoj taky PostgreSQL (puštěná v Dockeru), protože tak mám větší 
>>> jistotu, že v

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

2021-02-26 Thread MirekZv
@Vláďa - *Proč čteš topics, které Tě nezajímají nebo jsou dokonce otravné?*

Víš co, tak toto teda ne. Ačkoli na sobě obvykle nechám dříví štípat, toto 
si líbit nenechám - toto je příliš, to je přes čáru.

Promiň, ale já jsem dost starej chlap na to, abych už poznal, co je myšleno 
dobře a co není. Jakkoli to přetéká medovými slovy.
Tedy, možná to v rámci dvorečku své mysli dobře myslíš. Ale zamysli se, co 
Ti dává právo se ke mně takto chovat?
A jestli jsi rovný člověk, tak se neurazíš a není důvod nebýt nadále 
přáteli.

Možná jsi neuvážil, že s některými lidmi v diskuzi se známe, takže si 
můžeme dovolit občas nějakou ironickou poznámku (ke mně i ode mě).

Můj názor:
- Koho téma nezajímá, ten ho nečte,
- Věcné příspěvky o problémech v Pythonu a Djangu,
- Eliminovat hraběcí rady, typické zlo českých e-diskuzí,
- Oživit českou diskuzi: Víc věcných příspěvků než vloni (2 měsíčně?)

Dne pátek 26. února 2021 v 10:35:03 UTC+1 uživatel Vláďa Macek napsal:

> Mirku, každý jsme nějak začínali a někteří jsme psali dlouhé dotazy s 
> představou, že svět budou naše problémy zajímat.
>
> Číst tvoje texty je otravné, z větší části proto, že z nich sálá 
> nedostatek 
> pokory. To se ti tu lidi snažili naznačit.
>
> Pokud budeš ještě svoje výlevy upgradovat ad hominem, dospěješ k tomu, že 
> budeš už zcela ignorovaný.
>
> Tohle jsem napsal, abych ti poskytl reflexi, která by ti mohla pomoct. 
> Prosím tě, neodpovídej na ni.
>
> V.
>
>
> On 26. 02. 21 10:28, MirekZv wrote:
> > @jakub
> > Ahoj Jakube. Čteš i co jsem Ti napsal? Trochu Tě podezírám, že ne. Nebo 
> > Ti nerozumím.
> > Já to umím zkonstruovat z __file__, ale když je to v package, která je 
> > někde ve virtualenvs, tak je ve __file__ něco jiného, než si myslíš Ty.
>
>
>
>

-- 
-- 
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/be231622-e8b9-4249-b8e2-73236d2833a5n%40googlegroups.com.


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

2021-02-26 Thread MirekZv
https://dafoster.net/articles/2021/02/16/building-web-apps-with-vue-and-django-the-ultimate-guide/

Dne čtvrtek 25. února 2021 v 14:52:16 UTC+1 uživatel jan.be...@gmail.com 
napsal:

> 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 djan...@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+...@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/ff475ddf-26c1-4d42-98e0-c9b4cc233e2fn%40googlegroups.com.