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 <[email protected] <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 [email protected] <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 [email protected] <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 [email protected]
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 [email protected].
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.