Patrik,
Yes, Django can be used for that.
The "ORM" features and the "templates" and "views" of Django
make it very easy to do a "CRUD" app for a users to create/
retrieve/update/delete data in any RDBMS.
There are some built-in security features like logins, protection
against "CSRF" attacks, etc.
Django "formsets" make it easy to show multiple rows with a
details panel for the row currently selected.
With a web app, you won't have to re-distribute the front
end. Just push a new version to the server.
Django's templates and views both support "inheritance",
which should solve your problem of managing multiple
related forms. And, there are many Open Source custom
widgets for Django and for JavaScript that will give you all
the sub-grouping and tree-views that you need.
Django scales very well to large amounts of data, large
numbers of screens, and large numbers of users. There
are many performance tuning options, including "caching"
of templates, and of fully-constructed pages, and of DB
data. Also, lots of other "middleware" for security,
performance, logging, and other "aspects" of the software.
Yes, you can run a Django server locally, behind a "firewall",
or can expose it to the world, securing various parts as
needed.
To make it as secure as possible, I'd put in on a Linux server
that is protected by tools like Logwatch, Fail2ban, and
Tripwire. See:
-
http://bristle.com/Tips/Unix.htm#unix_security
And be sure to redirect all page requests from HTTP to
HTTPS.
I do all of this and more, including processing financial
transactions and supporting "multitenancy", restricting
access by thousands of different users, each to his own data,
plus "attribute based access control" for cases where data is
shared, at the Web site I'm currently working on:
-
http://HelpHOPELive.org
Sorry for all the terms and acronyms, but if you're considering
writing such an app, you'll need to be aware of them and they're
all pretty easy to Google. Feel free to reply with more questions.
Also, you'll quickly get a feel for Django's power if you go
through the on-line tutorial at:
-
https://docs.djangoproject.com/en/dev/intro/
Enjoy!
--Fred