Pohled do nitra – upload handlers
Jakmile Django začne zpracovávat požadavek (objekt request
), data uploadovaných souborů ještě nemusí být k dispozici. V průběhu zpracování jsou různé atributy požadavku, včetně uploadovaných souborů, vytvářeny stylem on demand.
Přístup ke slovníku request.FILES
vyvolá použití tzv. file handler objektů, které se postarají o samotný upload na dočasné místo a vytvoření objektu UploadedFile
. Defaultní nastavení v settings.py
je:
FILE_UPLOAD_HANDLERS = [
'django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
]
Do velikosti 2.5 MB se použije MemoryFile
, jinak TemporaryFile
na disku.
Lze implementovat vlastní file handler (např. ProgressBarUploadHandler
pro AJAX).