Django 从其他py文件导入变量
我有一个包含数据库设置的.py文件(称之为connection.py)。我正在尝试将我的connection.py中包含的变量导入到我的views.py中。但是,没有导入变量 在my views.py中,我有:Django 从其他py文件导入变量,django,Django,我有一个包含数据库设置的.py文件(称之为connection.py)。我正在尝试将我的connection.py中包含的变量导入到我的views.py中。但是,没有导入变量 在my views.py中,我有: from connection import * def location_where_connection_variables_needed(request, some_id): conn = psycopg2.connect(conn_string) cursor = con
from connection import *
def location_where_connection_variables_needed(request, some_id):
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
然后在views.py脚本中使用connection.py中的变量。但是变量没有导入到my views.py中。我将connection.py放在主文件夹中(即connection.py与我的应用程序文件夹位于同一文件夹中)。这是放这个的正确位置吗?还是我在做一些根本错误的事情
编辑:
我所说的不进口是指:
我没有收到任何错误,但是没有导入变量,因为views.py中的代码没有执行。如果我在my views.py中手动添加连接变量,一切正常
连接.py
conn_string = "host='localhost' dbname='test' user='postgres' password='pwd'"
您可以尝试使用全局变量而不是局部变量。把它当作
global conn_string = "host='localhost' dbname='test' user='postgres' password='pwd'"
对于常量值,我通常将它们放入名为
constants.py的文件中,并在所有CAP中指定这些值,这是Python的惯例。因此,我将“connection.py”替换为“constants.py”,如下所示:
此外,请确保清除manage.py可能无法清除的任何.pyc文件。这有时会导致事情无法按预期进行。您也可以远离import*
,因为它不是隐式的(您看不到正在导入的内容),而且很容易发生命名冲突。我们应该猜“不工作”是什么意思吗?不工作的到底是什么?你有例外吗?某个id的值是空的吗?很抱歉。我的意思是,connection.py中的变量没有被导入views.py。我更新了上面的语言。解释“未导入”…值是否为空?是否出现异常?某些\u id的值不是空的。我没有收到任何错误,但是变量没有被导入,因为views.py中的代码没有执行。如果在my views.py中手动添加连接变量,代码将使用连接变量执行。
# constants.py
CONN_STRING = "host='localhost' dbname='test' user='postgres' password='pwd'"
# views.py
from constants import CONN_STRING
def location_where_connection_variables_needed(request, some_id):
conn = psycopg2.connect(CONN_STRING)
cursor = conn.cursor()