Django - Oracle,如何使用为用户提供的用户/密码连接到只读数据库

Posted

技术标签:

【中文标题】Django - Oracle,如何使用为用户提供的用户/密码连接到只读数据库【英文标题】:Django - Oracle, How to connect to readonly db with user/pass provided for the User 【发布时间】:2017-09-26 17:20:18 【问题描述】:

我需要将 Django 与只读 Oracle 数据库连接。

连接到该数据库的用户和密码将由用户以网络表单的形式提供。

有什么提示吗?

先谢谢了。

【问题讨论】:

你可以使用 cx_Oracle 模块 docs.djangoproject.com/en/1.11/topics/db/multi-db/… @dalonlobo 你能给我一个例子吗?谢谢 @TheHumbleGuy 感谢您的链接,但在这些情况下,数据库连接、用户、密码在 settings.py 中定义。我需要一些方法来设置用户并即时传递。 我将其添加为答案,这样会更容易阅读 【参考方案1】:

这是一个简单的代码sn-p,你可以试试:

import cx_Oracle

con = cx_Oracle.connect('pythonhol/welcome@127.0.0.1/orcl')

cur = con.cursor()
cur.execute('select * from departments order by department_id')
for result in cur:
    print result

cur.close()
con.close()         

请注意,不要忘记关闭连接,如果您愿意,也可以使用 python 上下文管理器。 Further Read.

【讨论】:

以上是关于Django - Oracle,如何使用为用户提供的用户/密码连接到只读数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何优化 django oracle 连接?

如何在 django ajax-selects 中为 django 用户模型声明一个 LOOKUP CHANNEL

django用户认证系统——登录4

python 仅为管理员用户使用Django提供Sphinx文档

如何为 django 中的每个匿名用户提供一些唯一的 id

处理django rest framework + vue SPA auth