【问题标题】:scripting ipython through django's shell_plus通过 django shell_plus 编写 python 脚本
【发布时间】:2009-08-12 14:52:55
【问题描述】:

我正在编写一个 shell 脚本,它通过带有 -c 选项的 ipython 运行命令,如下所示:

ipython -c "from blah import myfunct; myfunct()"

但我想通过 django 的 shell_plus 命令调用 ipython,这样我就可以利用 shell_plus 自动为我加载的所有内容:

$ ./manage.py shell_plus

我不能只在其末尾添加“-c ...”,因为 manage.py 不知道如何处理它。有没有办法以某种方式传递 -c 选项?

【问题讨论】:

    标签: linux django shell ipython


    【解决方案1】:

    有几种方法可以做到这一点。

    1. 修改manage.py并添加-c选项并在处理后将其从sys.argv中删除
    2. 修改manage.py和monkeypatch shell_plus,使其默认支持-c
    3. 将您的代码放入某个文件并调用'PYTHONSTARTUP=your_file ./manage.py shell_plus'

    【讨论】:

    • 注意:Django 会检查PYTHONSTARTUP 是否是带有os.path.isfile(pythonrc) 的文件,这意味着它不会扩展路径。因此,如果您的 PYTHONSTARTUP~ 开头,它将不会被导入
    猜你喜欢
    • 2023-03-27
    • 2018-10-30
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多