当前位置: 首页 > 面试题库 >

使用django从外部数据库将数据提取到模板

齐夕
2023-03-14
问题内容

我将尝试构建一个Web应用程序,用户可以在其中访问URL,登录并查看报告和其他信息。但是,报告的数据存储在外部数据库中。这是一个我将要访问的MySQL数据库。

我在Google上做了一些研究,没有太多运气找到任何例子。我已经读了一些有关连接到多个数据库的文章-https://docs.djangoproject.com/en/dev/topics/db/multi-
db/
所以看来我可以连接到数据库了。

下一部分是我遇到的问题。数据库中的数据将一直更新。我既不想编辑信息,也不想覆盖任何东西。我只希望能够连接到数据库,提取所需的信息,然后通过模板查看它,以使用户能够看到。首先,因为数据一直在更新,这会成为问题吗?(我希望不是!)

连接到数据库后,什么是最好的方式才能提取数据,然后将其转换为可以输出到模板的格式?我是否需要将数据导入模型,然后使用视图进行控制。还是我需要使用JSON或XML转换数据?

我是python / django的新手,因此非常感谢您的帮助。如果您需要更多信息,请事先询问并感谢。:)


问题答案:

没问题!我一直都这样做。

至于“不要编辑或更新数据”,只要不要在您的应用程序中添加任何会更新数据的内容即可。塞勒姆关于在MySQL端使用权限的建议也是一个好主意。

要检索数据,您有两个选择:

1)您可以创建与MySQL数据库中的表相对应的Django模型。您可以手动执行此操作,也可以在manage.py中使用“
inspectdb”命令,从而为自己提供一个良好的起点。然后执行以下操作:

def myview(request):
  rows = MyModel.objects.using('mysql').all()
  return render_to_response("mytemplate.html", {"rows" : rows })

2)您可以在应用程序中手动管理连接和查询。在视图中这是完全有效的:

def myview(request):
  conn = MySQLdb.connect("connection info here")
  try:
    cursor = conn.cursor()
    cursor.execute("select * from mytable")
    rows = cursor.fetchall()
  finally:
    conn.close()

  return render_to_response("mytemplate.html", {"rows" : rows})

最终-Django非常高兴将MySQL用作数据库。如果您的DBA让Django在同一数据库中创建表,则可能会简化事情。



 类似资料:
  • 问题内容: 我已经在Django中创建了一个不错的数据库,并且希望通过网站内容之外的一些python脚本进行交互,因此我很好奇是否可以在Django之外使用Django数据库API网站,如果有的话,有没有人知道如何实现此目的?Google并没有为此带来很多成功。 问题答案: 在进行任何调用(包括导入模型)之前,你只需要配置Django设置即可。像这样: 同样,请确保在运行之前运行该代码,例如: 然

  • 一切正常,但DatabaseReference无法获取数据,这就像是忽略了我的代码运行,就像我的internet无法运行一样,请帮助我,我是这个社区的新手,下面是我的代码和图片。 以前它是工作的,但由于我只是更改了一些代码,使只有currentVersion>=vCode,这样即使数据库中的值是 firebase数据库映像 mainactivity.java manifest.xml 依赖关系

  • 问题内容: 我有一个mysql数据库表,该表需要与ElasticSearch索引保持一致。我已经将表从表导出到es索引,但是现在我需要保持数据同步,否则搜索将很快变得过时。 我能想到的唯一方法是每隔X分钟导出一次表,然后将其与上次导入的表进行比较。这是不可行的,因为该表大约有1000万行,而且我不想整天每五分钟进行一次表导出。有什么好的解决方案?请注意,我仅具有对数据库的读取权限。 问题答案: 我

  • 我正在做一个应用程序,我必须从firebase获取一些数据,并在RecyclerView中显示。但textView字段仍然为空,并且不显示任何数据。下面是db结构。我想获取“AlphabetMatching”下的节点的数据,但未能获取。回收器显示了我为行所做的布局,但没有数据库中的数据。 activity班: VIEWHOLDER类: } AMAW类 }

  • 我使用 liquibase 变更集创建了一个 Postgresql 数据库 A。现在,我正在创建一个应用程序,该应用程序允许创建新的数据库 B 并从数据库 A 实时复制架构,包括 liquibase 变更集,因为数据库以后仍然可以更新。请注意,在数据库 A 中复制的架构时,可能已经更新,从而使基本变更集过时。 我的主要问题是: 如何使用liquibase将PostgreSQL模式x从数据库a(在运

  • 我是姜戈的初学者,对一件事很着迷,我不知道该怎么做。我想显示一个存储在数据库中的图像到我的模板。图像上载到文件夹“static/img”。 这是我的数据库: 这是我的模板: 我的views.py: 使用TEMPLATE_DIRS、STATIC_ROOT和static_url更新settings.py。