无法使用 oracle ebs 数据库连接到 Django

Unable to connect to Django with oracle ebs database

我正在尝试使用 Django 构建我的第一个 Web 应用程序。

我实际上指的是将 Python 与 Oracle Database 11g 结合使用(在 'Using the 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.[=22中的数据库=]

这里我用我们的数据库详细信息更新了详细信息

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. 在终端 window 中,当我尝试从 myproj 目录执行以下命令时:

python manage.py 运行服务器

我收到以下错误消息

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

.wrapper 在 0x00000274CA28AEA0 处启动的线程中出现未处理的异常>

回溯(最近调用最后):

文件 "C:\Users\xxx\AppData\Local\Programs\Python\Python37\lib\site-packages\django\apps\config.py",第 118 行,在创建中

cls = getattr(mod, cls_name)

AttributeError: 模块 'myproj' 没有属性 'myapp'

在处理上述异常的过程中,又发生了异常:

回溯(最近调用最后):

文件 "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 行,在 raise_last_exception

raise _exception[1]

文件 "C:\Users\xxx\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management__init__.py",第 337 行,在执行中

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 行,在创建中

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'

的模块

我是Django.I的新手,觉得问题是myproj.myapp。您不需要项目名称,只需将 'myapp', 添加到 INSTALLED_APPS.Hope 即可。

来自"Writing your first Django app, part 2: Activating models" tutorial:

To include the app in our project, we need to add a reference to its configuration class in the INSTALLED_APPS setting. The PollsConfig class is in the polls/apps.py file, so its dotted path is 'polls.apps.PollsConfig'. Edit the mysite/settings.py file and add that dotted path to the INSTALLED_APPS setting. It’ll look like this:

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 并查看 class 的名称是什么,您的 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'
]