有没有办法配置PyCharm来运行shell_plus而不是默认的shell?
我试着把管理命令的文本放在“启动脚本”中,但是我得到了下面的django_manage_shell.run(“/Users/cmason/counsyl/code/website/counsyl/product”)导入操作系统导入系统
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
# The new Django 1.4 default manage.py wants "from django..." before
# importing settings, but we usually tinker with sys.path in
# settings_local.py, which is called from settings.py. Importing
# settings.py works but does mean some double importing. Luckily that
# module does very little work.
import settings
# appease pyflakes; don't ever do this in
# non-super-meta-namespace-trickery code
settings
from django.core.management import execute_from_command_line
execute_from_command_line("shellplus")
它还没有真正运行shell_plus。
看起来“启动脚本”是在默认情况下发生的,而不是代替默认情况。
Shell_plus会自动导入所有Django模型类。
8条答案
按热度按时间5ssjco0h1#
我通过挂接shell_plus代码来自动加载模型对象,并将其附加到
Preferences > Build, Execution, Deployment > Console > Django Console
中的默认启动脚本:这是在PyCharm 2018.3.3 Pro上
为完整起见,以下是启动脚本的完整内容:
vsaztqbk2#
我一直在寻找解决这个问题的方法,结果我找到了这里。我尝试了其他人提出的解决方案,但似乎没有一个能解决这个问题。所以我决定寻找另一个解决方案。下面是我的想法:
下面的代码块是***PyCharm 2019.2***的原始Django控制台启动脚本:
安装***IPython***并将最后两行更改为如下所示,可以以最正确的方式完成此操作:
要使其发挥作用:打开PyCharm设置(CTRL+S)并进入Django控制台部分。2然后在 * 启动脚本 * 窗口中进行更改并应用。3最后,启动新的 *Python控制台 * 示例。
lnxxn5zx3#
我查看了
shell_plus
的源代码,注意到可以在Command
类上使用一个名为get_imported_objects({})
的方法在PyCharm中,转到:构建、执行、部署〉控制台〉Django控制台〉启动脚本
将以下代码添加到该框中的现有代码中:
**注意:**您可能需要重新启动PyCharm才能看到效果。
vq8itlhq4#
解决这个问题的一种方法是创建一个新的Python运行配置。将目标设置为module,并为项目选择
manage.py
文件。然后将shell_plus
放入Parameters字段。将Working Directory设置为project目录。最后,将Execution设置为Run with Python Console
。应用更改,然后运行新配置。rkttyhzu5#
这不是一个完整的答案,但我发现这个脚本至少加载了所有的应用模型。把这个放在设置〉控制台〉Django控制台〉启动脚本:
我还提交了一个feature request to JetBrains.
pxq42qpu6#
在Django 1.7中,以下脚本可以作为PyCharm 3.4的一个解决方案:
文件-〉设置-〉控制台-〉Django控制台和manage.py选项
在
Starting script
中,输入:lhcgjxsq7#
此配置适合我
kt06eoxx8#
由于
django.db.models.get_models
不再存在,这里有一个更新的版本,它将完成与Christopher Mason的版本相同的任务。