No, hele, já ani moc nevím, co je widget nebo widget v django smyslu nebo widget v javascript smyslu. Ale zkoušel jsem pár packages, které to prostě pomocí nastavení widget=... připojujou, což mi přijde docela elegantní. Např. se dá udělat formfield_overrides = {models.FileField: {'widget': XxxxxWidget}} a mám to všude, a stejně snadno to zas můžu vyhodit nebo nahradit něčím jiným, jestli někdy něco přijatelnějšího bude.
Zatím laboruju s django-sticky-uploads, ale chtěl jsem vědět, jestli třeba něco podstatně lepšího nepřehlížím. Co se týká funkce, potřebuju, aby se choval upload úplně stejně, jako ostatní inputy: když do nich něco napíšeš a submitneš stránku s nevyplněným povinným údajem, tak to, cos tam napsal tam zůstane. V případě uploadu to musí uživatel hledat znova po disku, což ho jistě potěší, když tam připíchnul třeba 3 soubory (nehledě na to, že jejich zmizení může přehlédnout). Validace se provádí úplně standardně na serveru po submitu, na základě toho, jestli je pole definováno v modelu jako povinné. Proprietárně si to fakt řešit nehodlám. Dne středa 15. května 2019 12:52:54 UTC+2 JirkaV napsal(a): > > Asi necemu nerozumim, ale "aby prilozene soubory prezily submit + selhanou > validaci" prece neni otazkou widgetu, ne? To si musis zajistit ve formu > pripadne tam, kde validaci provadis. > > Co se tyka upload widgetu, jsem celkem spokojeny s > https://www.dropzonejs.com/ - ale je to pouze na strane JS, nemuzes to > napojit rovnou na FileField. > > Jirka > > On Wed, 15 May 2019 at 12:39, MirekZv <mirek....@gmail.com <javascript:>> > wrote: > >> Musím vybrat nějaký upload widget pro py3/dj2, tedy něco, co připojím na >> FileField pomocí widget=... >> Zatím jde o dokumenty, samozřejmě, kdyby to mělo i něco extra pro >> ImageField, nezlobil bych se. >> >> Ale zásadní požadavek je teď jediný: aby přiložené soubory přežily submit >> + selhanou validaci a uživatel je nemusel zadávat znova. >> >> Trochu jsem pokoukal a něco vyzkoušel, ale situace se mi zdá skoro >> tragická. >> Třeba jsem něco přehlédl, nemáte pro mě nějaký tip? >> >> Díky, Mirek >> >> -- >> -- >> E-mailová skupina djan...@googlegroups.com <javascript:> >> 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 djan...@googlegroups.com <javascript:>. >> Chcete-li tuto diskusi zobrazit na webu, navštivte >> https://groups.google.com/d/msgid/django-cs/3857364e-d6bb-48af-9327-8fa070c70c2f%40googlegroups.com >> >> <https://groups.google.com/d/msgid/django-cs/3857364e-d6bb-48af-9327-8fa070c70c2f%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> Další možnosti najdete na https://groups.google.com/d/optout. >> > -- -- 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/e18872cc-7d3d-4cc1-82c3-b8f09440cf92%40googlegroups.com. Další možnosti najdete na adrese https://groups.google.com/d/optout.