Django 将方法导入添加到shell_plus
在Django 将方法导入添加到shell_plus,django,django-extensions,Django,Django Extensions,在shell\u plus中,是否有一种方法可以像模型一样自动导入选定的帮助器方法 我经常打开shell键入: proj = Project.objects.get(project_id="asdf") 我想用以下内容来代替: proj = getproj("asdf") 好的,两种方式: 1) 使用PYTHONSTARTUP变量(参见此) 2) 使用ipython startup(我的最爱)(参见此、此和此): 。从那里引述: 额外进口 除了导入模型外,还可以指定要导入的其他项目 默认情况
shell\u plus
中,是否有一种方法可以像模型一样自动导入选定的帮助器方法
我经常打开shell键入:
proj = Project.objects.get(project_id="asdf")
我想用以下内容来代替:
proj = getproj("asdf")
好的,两种方式:
1) 使用PYTHONSTARTUP变量(参见此)
2) 使用ipython startup(我的最爱)(参见此、此和此):
。从那里引述:
额外进口
除了导入模型外,还可以指定要导入的其他项目
默认情况下导入。这些在SHELL\u PLUS\u PRE\u导入中指定
和
SHELL\u PLUS\u POST\u导入
。前者先于任何其他产品进口
导入(例如默认模型导入),后者被导入
在任何其他进口之后。两者都有相似的语法。所以在你的
settings.py文件:
SHELL_PLUS_PRE_IMPORTS = (
('module.submodule1', ('class1', 'function2')),
('module.submodule2', 'function3'),
('module.submodule3', '*'),
'module.submodule4'
)
上面的示例将直接转换为以下python
自动导入之前将执行的代码:
from module.submodule1 import class1, function2
from module.submodule2 import function3
from module.submodule3 import *
import module.submodule4
这些符号将在外壳启动后立即可用
这两个都很好——但我想在源代码管理中包括这一点,而且碰巧这个配置是内置的——请看下面我的回答。我不得不将
SHELL\u PLUS\u PRE\u IMPORTS
从元组更改为列表以使其正常工作。如果导入一项,请不要忘记逗号:SHELL\u PLUS\u PRE\u IMPORTS=('haystack')
您在哪里定义SHELL\u PLUS\u PRE\u导入?设置。py?@DanGoodrick是的
SHELL_PLUS_PRE_IMPORTS = (
('module.submodule1', ('class1', 'function2')),
('module.submodule2', 'function3'),
('module.submodule3', '*'),
'module.submodule4'
)
from module.submodule1 import class1, function2
from module.submodule2 import function3
from module.submodule3 import *
import module.submodule4