# django config app

**URL:** <https://forum.djangoproject.com/t/django-config-app/10047>\
**Category:** Using Django\
**Created:** [October 9, 2021, 6:12pm UTC](https://forum.djangoproject.com/t/django-config-app/10047 "2021-10-09T18:12:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![joff13](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/joff13/32/1957_2.png) [@joff13](https://forum.djangoproject.com/u/joff13)\
**Post date:** [October 9, 2021, 6:12pm UTC](https://forum.djangoproject.com/t/django-config-app/10047/1 "2021-10-09T18:12:31Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![KenWhitesell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kenwhitesell/32/280_2.png) [@KenWhitesell](https://forum.djangoproject.com/u/KenWhitesell)\
**Post date:** [October 9, 2021, 11:18pm UTC](https://forum.djangoproject.com/t/django-config-app/10047/2 "2021-10-09T23:18:47Z")

</div>

Take a look at the [“cookiecutter” project](https://cookiecutter-django.readthedocs.io/en/latest/).

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.

---

<div class="post-metadata">

**Author:** ![joff13](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/joff13/32/1957_2.png) [@joff13](https://forum.djangoproject.com/u/joff13)\
**Post date:** [October 10, 2021, 1:38pm UTC](https://forum.djangoproject.com/t/django-config-app/10047/3 "2021-10-10T13:38:35Z")

</div>

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

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

```

---

<div class="post-metadata">

**Author:** ![KenWhitesell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kenwhitesell/32/280_2.png) [@KenWhitesell](https://forum.djangoproject.com/u/KenWhitesell)\
**Post date:** [October 10, 2021, 1:51pm UTC](https://forum.djangoproject.com/t/django-config-app/10047/4 "2021-10-10T13:51:07Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![joff13](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/joff13/32/1957_2.png) [@joff13](https://forum.djangoproject.com/u/joff13)\
**Post date:** [October 10, 2021, 1:54pm UTC](https://forum.djangoproject.com/t/django-config-app/10047/5 "2021-10-10T13:54:42Z")

</div>

Many thanks for your suggestions.  
Best regards  
CJ
