I am recently working on Django following the description from the book Python Crash Course. I followed every step and tried to restart from the beginning a couple of times, still unable to solve the problem(Even reinstalled MacOS to get a cleaner desktop). Here is my code:
class Topic(models.Model): '''A topic the user is learning about''' text = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) def __str__(self): '''Return a string represent model''' return self.text
The tracebacks are below:
Traceback (most recent call last): File "/Users/bryan/Desktop/python/learning_log/learning_logs/models.py", line 3, in <module> class Topic(models.Model): File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/db/models/base.py", line 108, in __new__ app_config = apps.get_containing_app_config(module) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/apps/registry.py", line 253, in get_containing_app_config self.check_apps_ready() File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/apps/registry.py", line 135, in check_apps_ready settings.INSTALLED_APPS File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/conf/__init__.py", line 82, in __getattr__ self._setup(name) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/conf/__init__.py", line 63, in _setup raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. [Finished in 304ms with exit code 1] [cmd: ['python3', '-u', '/Users/bryan/Desktop/python/learning_log/learning_logs/models.py']] [dir: /Users/bryan/Desktop/python/learning_log/learning_logs] [path: /Library/Frameworks/Python.framework/Versions/3.10/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]
The code is in the file models.py
It seems like the error is happening because you’re running the models.py file directly. In working with Django, you rarely run a .py file directly. Usually you run some commands in the terminal, and then you interact with your project in a browser.
- Are you working in an active virtual environment?
- Have you run the
makemigrationscommand for your app?
- Have you run
python manage.py migrate?
- What happens when you run
python manage.py runserver?
Answered By – japhyr