【问题标题】:How to configure Django to access remote MySQL db django.contrib.sites.RequestSite module missing如何配置 Django 访问远程 MySQL 数据库 django.contrib.sites.RequestSite 模块丢失
【发布时间】:2016-08-18 20:28:18
【问题描述】:

我正在尝试设置一个连接到远程 MySQL 数据库的 django 应用程序。我目前在我的 venv 中安装了 Django==1.10 和 MySQL-python==1.2.5。在 settings.py 中,我将以下内容添加到 DATABASES 变量中:

'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'db_name',
    'USER': 'db_user',
    'PASSWORD': 'db_password',
    'HOST': 'db_host',
    'PORT': 'db_port',
}

我得到了错误

from django.contrib.sites.models import RequestSite

当我运行 python manage.py migrate

当谈到 django 时,我是一个完整的初学者。有没有我遗漏的步骤?

编辑:我还通过 brew install 安装了 mysql-connector-c edit2:意识到我只需要通过将 MySQLdb 导入文件来连接到数据库。很抱歉对于这个误会。

【问题讨论】:

  • 嗨,你能解释一下你到底做了什么吗? python manage.py makemigrations 恕我直言,应该在 migrate 之前执行
  • 老实说,我不确定要告诉您的相关信息是什么。当我运行 makemigrations 时,我收到一个类似的错误,说找不到 RequestSite。我还将“django.contrib.sites”包含在 settings.py 的已安装应用部分中
  • 我是否需要在 models.py 中编写模型来模仿我要连接的数据库的结构?
  • 我不明白你在做什么。远程数据库是 django 应用程序存储数据的地方?或者它是您的应用用来读取某些数据的现有数据库?
  • 我正在尝试连接到现有的 mysql 数据库而不是使用 django 创建数据库

标签: python mysql django


【解决方案1】:

您看到的错误与您的数据库设置(假设您的真实代码具有实际的数据库名称、用户名和密码)或连接无关。您没有从正确的位置导入 RequestSite。

从以下位置更改(无论您在哪里):

from django.contrib.sites.models import RequestSite

到:

from django.contrib.sites.requests import RequestSite

【讨论】:

    【解决方案2】:

    这是您应该查看的用于连接数据库的文档以及 django 是如何执行此操作的,根据您提供给我们的内容,只要您的参数正确,您就应该连接到数据库,但可以很好地确认这一点检查数据库工具。

    https://docs.djangoproject.com/en/1.10/ref/databases/

    这将向您展示如何从 sql 数据库中导入模型:

    https://docs.djangoproject.com/en/1.10/howto/legacy-databases/

    在 cmets 中回答您的问题

    " 自动生成模型

    Django 带有一个名为 inspectdb 的实用程序,它可以通过自省现有数据库来创建模型。您可以通过运行以下命令查看输出:

    python manage.py inspectdb
    

    使用标准 Unix 输出重定向将其保存为文件:

    python manage.py inspectdb > models.py
    

    "

    【讨论】:

      猜你喜欢
      • 2015-05-31
      • 1970-01-01
      • 2010-12-14
      • 2014-05-22
      • 1970-01-01
      • 2018-08-06
      • 2015-05-15
      • 1970-01-01
      • 2022-08-15
      相关资源
      最近更新 更多