[Django]-Using a settings file other than settings.py in Django

14๐Ÿ‘

โœ…

I do know that no matter what you do with manage.py, youโ€™re going to get that error because manage.py does a relative import of settings:

try:
    import settings # Assumed to be in the same directory.

http://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-optionโ€”settings

Note that this option is unnecessary
in manage.py, because it uses
settings.py from the current project
by default.

You should try django-admin.py syncdb --settings=mysettings instead

24๐Ÿ‘

Try creating a settings module.

  1. Make a settings folder in the same directory as manage.py.
  2. Put your different settings files in that folder (e.g. base.py and prod.py).
  3. Make __init__.py and import whatever settings you want to use as your default. For example, your __init__.py file might look like this:

    from base import *
    
  4. Run your project and override the settings:

    $ python2.6 manage.py syncdb --settings=settings.prod
    
๐Ÿ‘คElliot Cameron

4๐Ÿ‘

this works for me:

DJANGO_SETTINGS_MODULE=config.settings.abc python manage.py migrate

1๐Ÿ‘

this will help you:

  • create a another file โ€œsetting_prod.pyโ€ with your original settings.py file.

  • write down your setting which you need to run, in setting_prod.py file.

  • Then import setting_prod.py file in your settings.py file.

for ex.
settings.py:

VARIABLE = 1

import setting_prod

setting_prod.py

VARIABLE = 2

After importing setting_prod.py file in settings.py file, VARIABLE will set to new value to โ€œ2โ€ from โ€œ1โ€.

๐Ÿ‘คPythonDev

0๐Ÿ‘

We can use this method to set different settings file, for example, I use different settings file for my unit test (settings_unit_test.py). Also I do have other settings file for different infrastructure environment settings_dev.py, settings_test.py and settings_prod.py.

In windows environment(same can done in linux as well)

set DJANGO_SETTINGS_MODULE=settings_unit_test
set PYTHONPATH=<path_of_your_directory_where_this_file_'settings_unit_test.py'_is_kept>
๐Ÿ‘คSathish

Leave a comment