'Where do I find the default settings for my app in Django?
Problem: django.core.exceptions.ImproperlyConfigured: Requested settings, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Example solution from Django Docs:
# Put this before accessing settings
from django.conf import settings
if not settings.configured:
settings.configure(default_settings=myapp_defaults, DEBUG=True)
Okay but, where do I find my app's default settings?
My file structure is:
Solution 1:[1]
By screenshot looks like you’re using PyCharm.
Do right click on the “second” charges from the screenshot and click on option “mark as sources root”
Then you’ll be be able to do what @raphael mentioned in the comment
Your settings are located under Charges/charges/charges/settings.py
Your interpreter does not see it because root is in Charges. Though, it should be also on Charges/charges to be able to import settings from it
Solution 2:[2]
When you run Django through python manage.py runserver, your main project code (charges) is started and the settings.py is loaded. There, you should configure it globally. This default settings can be changed using env variables (if it sits somewhere else, or you want to try another settings.py file).
For your app/modules: create a settings.py and define your default there, then load in the apps.py the settings file like you did. Anyway, default would be overriden by your main settings.py
https://docs.djangoproject.com/fr/4.0/topics/settings/#custom-default-settings
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Egor Wexler |
| Solution 2 | Sami Tahri |

