python - Python 函数内部的导入语句
问题描述
我一直在尝试(以我自己的方式)解决我正在开发的 Django 应用程序的配置合理且符合 12 因素的问题。
以下是我的想法。如您所见,我想将环境规范完全隔离到环境。在此之前,我不得不manage.py
为每个新环境重新指定入门级设置文件,尽管每个环境已经有单独的设置文件。
settings.py(manage.py指向的)
import environ
env = environ.Env()
environ.Env.read_env()
DJANGO_ENV = env('DJANGO_ENV')
def production():
import production
def development():
from .development import *
def testing():
import testing
def staging():
import staging
options = {'production': production,
'development': development,
'testing': testing,
'staging': staging}
print(options[DJANGO_ENV]())
但是,我收到了来自 Python 3.7 的抱怨(错误),即 import 语句只允许在模块级别使用。
我的问题有两个:这种方法总体上有多合理,有没有办法在函数级别进行导入?
解决方案
推荐阅读
- php - 我应该将 redis GET/SET 放在模型中吗?
- python - 从零开始支持向量机
- elasticsearch - 将数据节点角色分配给弹性搜索中的所有主节点是一种好习惯吗?
- shell - 在 shell 脚本中使用 vim 将密码设置为文本文件
- ios - 如何在数据传递中以编程方式将 ViewController 从 Swift 呈现到 Obj C
- vba - 如何在使用 vba 的 Microsoft 项目中找到与滞后和租赁的关系?
- multithreading - Perl File::NFSLock 无法获取锁并出现错误 EACCESS
- project-reactor - 对 groupBy 生成的并行流执行不同的操作?
- reactjs - 使用 map() 函数时 props.data 未定义
- javascript - jQuery找到具有类但没有嵌套元素的第一级元素