Preferences and settings in a Django Project
Edit: I thought first you want to generate the Django settings based on the admins, I didn't read your question completely.
Anyway for user specific settings and preferences, definitely use a database. None use files for such tasks, you can query a database and create all your fields easily using Django's ORM.
I want to add to my django project the ability a user to set his own settings, and Django should remember that when the user logins. I also want my project to have some global settings that will be the same for every user. E.g
before a user logs in the system the will be a language set for every user.(global setting)
but after the user is authenticated django will switch to his prefered language. What is the best approach for that? My thought was settings file for the global settings (language, locale  etc) and a settings application for user-specific preferances. The user-specific preferances might have to do with very simple but specific staff like colors of appearence of things etc. Is creating a settings app the right approach? No code just need a point to right direction first before implementing