【问题标题】:Unable to connect to Django with oracle ebs database无法使用 oracle ebs 数据库连接到 Django
【发布时间】:2019-08-25 19:25:29
【问题描述】:

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

我实际上指的是在 Oracle Database 11g 中使用 Python(在“使用 Django 框架”部分下)

但是,在尝试执行命令 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 行,在创建中

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 行,在 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 python-3.x oracle11g cx-oracle


    【解决方案1】:

    我是 Django 的新手。我认为问题出在myproj.myapp。您不需要项目名称,只需将'myapp', 添加到 INSTALLED_APPS 即可。希望对您有所帮助。

    【讨论】:

    • 谢谢,将它保存到 myapp 确实有帮助
    【解决方案2】:

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

    要将应用程序包含在我们的项目中,我们需要在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'
    ]
    

    【讨论】:

      猜你喜欢
      • 2011-05-19
      • 2019-10-18
      • 2020-01-02
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多