Невозможно подключиться к Django с базой данных oracle ebs - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь создать свое первое веб-приложение, используя Django.

Я на самом деле имею в виду Использование Python с Oracle Database 11g (в разделе «Использование Django Framework»)

однако при попытке выполнить команду python manage.py runserver я получаю сообщение об ошибке

Шаги следуют

  1. django-admin.py startproject myproj

  2. cd myproj

  3. python manage.py startapp myapp

  4. После успешного выполнения вышеуказанных команд следующим шагом было изменение параметров подключения, чтобы приложение могло подключаться к базе данных в файле myproj / settings.py.

Здесь я обновил детали с нашей базой данных

DATABASES = {

        'default': {

                    'ENGINE': 'django.db.backends.oracle',
                    'NAME': '<our ebs database name>',
                    'USER': <username>,
                    'PASSWORD': <password>,

                    }

        }
  1. Также добавлен проект в INSTALLED_APPS, чтобы связать приложение с проектом:

    INSTALLED_APPS = [
    
    'django.contrib.admin',
    
    'django.contrib.auth',
    
    'django.contrib.contenttypes',
    
    'django.contrib.sessions',
    
    'django.contrib.messages',
    
    'django.contrib.staticfiles',
    
    'myproj.myapp'
    
    ]
    
  2. В окне терминала, когда я пытаюсь выполнить приведенную ниже команду из каталога myproj:

python manage.py runserver

Я получаю сообщение об ошибке ниже

C: \ Users \ xxx \ Desktop \ Python files \ myproj> python manage.py runserver

Необработанное исключение в потоке, запущенном .wrapper в 0x00000274CA28AEA0>

Traceback (последний последний вызов):

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ apps \ config.py", строка 118, в create

cls = getattr(mod, cls_name)

AttributeError: модуль 'myproj' не имеет атрибута 'myapp'

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (последний последний вызов):

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ utils \ autoreload.py", строка 225, в оболочке

fn(*args, **kwargs)

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ core \ management \ commands \ runserver.py", строка 109, в inner_run

autoreload.raise_last_exception()

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ utils \ autoreload.py", строка 248, в lift_last_exception

raise _exception[1]

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ core \ management__init __. Py", строка 337, в файле execute

autoreload.check_errors(django.setup)()

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ utils \ autoreload.py", строка 225, в оболочке

fn(*args, **kwargs)

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django__init __. Py", строка 24, в настройке

apps.populate(settings.INSTALLED_APPS)

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ apps \ registry.py", строка 89, заполнить

app_config = AppConfig.create(entry)

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ django \ apps \ config.py", строка 123, в create

import_module(entry)

Файл "C: \ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ importlib__init __. Py", строка 127, в файле import_module

return _bootstrap._gcd_import(name[level:], package, level)

Файл "", строка 1006, в _gcd_import

Файл "", строка 983, в _find_and_load

Файл "", строка 965, в _find_and_load_unlocked

ModuleNotFoundError: Нет модуля с именем «myproj.myapp»

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Из учебника "Написание первого приложения Django, часть 2: Активация моделей" :

Чтобы включить приложение в наш проект, нам нужно добавить ссылку на его класс конфигурации в настройке INSTALLED_APPS. Класс PollsConfig находится в файле polls/apps.py, поэтому его пунктирный путь равен 'polls.apps.PollsConfig'. Отредактируйте файл mysite/settings.py и добавьте этот пунктирный путь к параметру INSTALLED_APPS. Это будет выглядеть так:

mysite/settings.py

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Итак, посмотрите в myproj/apps.py и посмотрите, как называется класс, и ваш INSTALLED_APP должен выглядеть примерно так:

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'myproj.apps.MyprojConfig'
]
0 голосов
/ 04 апреля 2019

Я новичок в Django. Думаю, проблема в myproj.myapp. Вам не нужно имя проекта, просто добавьте 'myapp', в INSTALLED_APPS. Надеюсь, это будет полезно.

...