我有以下目录结构:
目录名称为test_app
|-- __init__.py
|-- manage.py
|-- models.py
|-- views.py
我有一个非常基本的问题要问,我将以下值放在__init__.py
alpha = "123"
beta = "546"
如何在模型,视图和管理中获得alpha和beta的价值? 我尝试了以下方法:
from . import alpha
from test_app import alpha
他们两个都不起作用,我该怎么做?
答案 0 :(得分:4)
__init__.py
通常为空,表示可以导入目录中的文件,在本例中为test_app。您可以将值放在另一个.py文件中(例如:constants.py)并执行以下操作:
|-- __init__.py
|-- manage.py
|-- models.py
|-- views.py
|-- constants.py
然后导入常量:
from test_app import constants
constants.py的内容是
alpha = "123"
beta = "546"
然后你就可以使用你在常量中存储的值
print(constants.alpha)
print(constants.beta)
答案 1 :(得分:0)
我不确定我会在__init__.py
中添加常量或我需要包含的内容,但是这样:
from __init__ import things
可以正常导入things
中定义的__init__.py
。
我不这样做的原因是python包通常使用__init__.py
来控制通过from package.name import *
导出的内容。在这种情况下,你的常量也会被导出 - 如果这是什么就没问题你想要,但如果没有,那就太糟糕了。