django config app

Hi django pepople
I’m writing a project with a few app in it.
What I need to do at this time is a sort of app/project installer/configurator.

Something to run at first time to set some variable in settings.py, in database, to create the superuser and so on. Making a more specific example something like the “installer”/config process that starts at first run of wordpress or other cms .

Has anyone some suggestions on best practice, existing app to integrate in the project, hints, anything usefull… ?

thanks in advance

CJ

Take a look at the “cookiecutter” project.

And keep in mind that Django is not a CMS. It’s a tool you could use to build a CMS, which includes creating your own “installer / config” process.

To directly answer your question, there isn’t anything general like that. Base Django requires too much configuration for it to be easily automatable.

Thanks Ken for your answer. Cookiecutter is not really what I’m looking for…
In your opinion, is it possible (convenient / good practice) to run a project with a setting file, create a new setting file runtime e restart the service (docker or whatever setup ) giving the new setting file?

many thanks

python manage.py runserver --settings=myproject.settings.newsetting

Sure, it’s possible to do that, but I’m not sure I would approach it that way.

We have a common settings file that reads from an external file to alter settings. There are some settings that are alterable and some that aren’t. (For example, for “installed_apps”, we have a list of apps that must be included. The external file adds to that list - it doesn’t replace it. That limits the degree to which the list can be altered. We do similar things with middleware and some other settings.)

However, we’ve never tried to make it configurable from within the site. The closest we’ve ever come to that is to create a custom django-admin command to create / modify files.

Many thanks for your suggestions.
Best regards
CJ