mysql查询函数在python shell中工作,但在python中运行时配置错误

mysql查询函数在python shell中工作,但在python中运行时配置错误,python,mysql,sql,django,Python,Mysql,Sql,Django,我正在django中练习使用mysql,并希望在我在settings.py中设置的数据库上运行一个简单的查询。我已连接到数据库,可以在manage.py shell中很好地运行查询。但是,当我在python文件中运行相同的代码时,它不起作用。有人知道为什么在python文件中查询不起作用吗 查询: 从django.db导入连接 def queryid: c=连接['default']。游标 c、 executeSELECT*从'peptides_proteins_u000005中选择,其中pro

我正在django中练习使用mysql,并希望在我在settings.py中设置的数据库上运行一个简单的查询。我已连接到数据库,可以在manage.py shell中很好地运行查询。但是,当我在python文件中运行相同的代码时,它不起作用。有人知道为什么在python文件中查询不起作用吗

查询: 从django.db导入连接 def queryid: c=连接['default']。游标 c、 executeSELECT*从'peptides_proteins_u000005中选择,其中protein_id=%s;,[id] 行=c.fetchone 返回行 打印查询4519 在shell中,我将返回一行,其中包含我想要的信息。但是,在python文件中运行时,我得到以下错误:

django.core.exceptions.ImpropertlyConfigured:请求设置数据库,但未配置设置。在访问设置之前,必须定义环境变量DJANGO_SETTINGS_MODULE或call SETTINGS.configure


有没有办法在views.py或其他python文件中运行此命令,而不使用inspectdb将数据库放入模型中?

Django不是这样工作的。 使用django shell执行指令集时,它知道在哪里查找db,因为django.setup负责填充应用程序注册表,正在后台加载settings.py文件。 但是,当您在常规python shell中使用它时,它对settings.py文件一无所知。 它只知道如何执行当前的一组指令。
它不会加载settings.py文件

如果您还需要任何其他信息,请告诉我如何在python文件中运行查询?我想在用户给我一个蛋白质的id后查询数据库。然后我想在html页面上显示它。是否仍要在views.py中运行此查询?我会使用模型,但我的数据库太大了,我等了大约一个小时,结果完成了3%@Danish你可以用表格。然后在后端使用request.GET.GET'id'方法提取id,并执行相同的查询。我认为connection.cursor会给出相同的结果,因此不需要使用“default”。将通过cursor.fetchone接收到的dict传递到前端并在那里提取结果,或者首先在终端中打印结果,以了解接下来的内容以及如何在模板中提取结果