I didn't meant "Django is lightweight" but "Django can be lightweight", implied you configure it accordingly.
Of course, leaving in place the ORM, the session management, the authentication system, the various protections (CORS, CRSF,...) and all the other middlewares configured in the default settings can seem overkill if the need boils down to a basic HTML form for
uploading some file and used on a local network. But even if you leave them in place, is it really a problem ? They will be there, but
their code will not kick in. So why bother ? Maybe some code will still be activated without a real need, but the overhead is ridiculous in front of the network time, especially if file upload is involved. The problem described by the OP does not seem to be
related to a heavy traffic commercial app. So who cares with these extra unneeded code being executed ? What really
matters is : "will the job be done ?".
Having used myself several frameworks (starting from Tornado down to Bottle and including Flask to name a few) in real world projects, when coming to writing the views (or
request handlers, route functions,... depending on the FW terminology) I never felt that one of them was simpler or
lighter than the others on that point, or even superior.
I agree that what could be added in Django documentation is a section explaining how to strip its default application setting down to the minimal stuff for equating solutions such as Flask, Tornado et al. Maybe it could also help having the project creation
tool include options to select among different scenarios (default like the current one, minimal Web app without ORM,...). Newcomers could then adopt Django for their basic projects without fearing about this lightweight-ness issue, but being confident that
they will be able to kick in other features (e.g. the ORM, which is the big chunk of Django, probably at the origin of the
lightweight-ness question) as their future projects will require. The net benefit is that they will not have to switch from one FW to another one depending on the project, which means investing in several learning curves, being able to switch between
their respective paradigms... and fixing errors coming from confusing things belonging to the different FW they work with 😊
Just my $0.2 😉
Best
Eric