I am trying to restructure my project as recommended in the last two Django magazines (for Django 1.11).
After the restructuring is complete, my application cannot be imported.
secureDash_project
βββ README.rst
βββ config
β βββ __init__.py
β βββ __pycache__
β βββ db.sqlite3
β βββ settings
β β βββ __init__.py
β β βββ __pycache__
β β βββ settings.py
β βββ urls.py
β βββ wsgi.py
βββ db.sqlite3
βββ manage.py
βββ requirements.txt
βββ secureDash
βββ __init__.py
βββ __pycache__
βββ dash
β βββ __init__.py
β βββ __pycache__
β βββ admin.py
β βββ apps.py
β βββ forms.py
β βββ migrations
β β βββ __init__.py
β βββ models.py
β βββ tests.py
β βββ urls.py
β βββ views.py
βββ templates
βββ dash
settings.py excerpt:
...
import os
BASE_DIR = os.path.dirname(os.path.dirname(
os.path.dirname(os.path.abspath(__file__))))
ENV_PATH = os.path.abspath(os.path.dirname(__file__))
DEBUG = True
INSTALLED_APPS = [
'secureDash.dash.apps.DashConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
] ...
At startup
python3 manage.py runserver --settings=config.settings.settings
I get:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x1076b0d08>
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
autoreload.raise_last_exception()
File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/usr/local/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python3.5/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/local/lib/python3.5/site-packages/django/apps/config.py", line 142, in create
app_module = import_module(app_name)
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'dash'
secureDash.dash.apps.DashConfig:
from django.apps import AppConfig
class DashConfig(AppConfig):
name = 'dash'