Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 将方法导入添加到shell_plus_Django_Django Extensions - Fatal编程技术网

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