[ clydefrog @ 05.10.2019. 19:34 ] @
Pravim stranicu za dodavanje proizvoda u web shop od strane korisnika, i imam problem oko dodavanja slika:

Situacija je sledeća:

- postoji jedan <input type="file"> i nakon odabira slika, slike bi trebalo da se privremeno uploaduju na server, nakon čega se daje preview slike na stranici. Tokom uploada, prikazuje se loading spinner gif i client-side progress (npr. 15% od 1.7MB) i opcija da se prekine upload.
- svaka od slika treba da ima opciju brisanja

Zbog svih ovih i drugih specifičnosti ne koristim klasičan ModelForm, već sve pravim manuelno.

Dakle, moj plan je da attach-ujem onchange listener za taj input, i kada se selektuju fajlovi šalje se POST XMLHttpRequest iz JavaScript-a, koji poziva poseban view koji bi slike snimio u tabelu za privremene slike, a id tog row-a bi bio nešto kao request.session.session_key, samo nešto malo drugačije. Moj problem sa ovim pristupom jeste generisanje tog session key-a, koji bi trebalo da bude jedinstven i da traje sve dok je otvorena stranica za dodavanje proizvoda. Znači, ako se refreshuje stranica, novi session key. Isto tako, ako se doda jedan predmet, pa potom prilikom dodavanja drugog predmeta, key mora da bude različit. request.session.session_key ne odgovara ovim potrebama jer je isti tokom trajanja sesije. Kada se cela forma submituje, planiram da povežem te privremene slike sa glavnom Product instancom, i izbrišem ih iz tabele za privremene slike.

Šta mislite o ovom rešenju?