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).