【问题标题】:Python django modify help filePython django 修改帮助文件
【发布时间】:2016-11-30 19:24:35
【问题描述】:

我想在 django 项目中修改 -h 命令。我创建了一个项目,但是当我使用自己的帮助命令 python manage.py my_help 时,我收到有关未安装模块的错误。这没关系,因为我想告诉用户在运行项目之前需要安装哪些模块。所以,当我打电话给python manage.py my_helppython manage.py -h 时,我想显示有关所需附加模块的信息以及有关项目的一般信息。现在我只收到错误消息,例如(我在项目中使用 reportlab)

from reportlab.lib.pagesizes import A4, letter
ImportError: No module named 'reportlab'

是否可以修改默认 -h 选项或使用我自己的帮助命令执行某些操作以显示基本信息而不是错误?

编辑:

我可以在哪里放置 argparse 代码来修改我的 -h 选项?我把它放在manage.py中,当我运行python manage.py -h时它显示,但是当我运行python manage.py runserver时,我得到manage.py: error: unrecognized arguments: runserver

【问题讨论】:

    标签: python django command


    【解决方案1】:

    您需要像这样修改您的导入语句:

    try:
        from reportlab.lib.pagesizes import A4, letter
    except ImportError:
        print 'Missing dependency reportlab'
    

    但这很不寻常。通常的做法是创建一个 requirments.txt 文件,该文件可以传递给 pip,如下所示

    pip install -r requirements.txt
    

    这使用户能够在一个命令中轻松满足所有要求。如果您捕获每个ImportError 并为每个要求打印一条消息,您实际上是在强制用户多次键入 pip install。

    【讨论】:

    • 第二个 for requirements.txt,更简单的方法!
    • 我有一个问题 - 我应该在哪里放置 argparser 参数来修改 django 中的 -h 选项?我把它放在 manage.py 中,但是当我想运行服务器时,我得到了 manage.py: error: unrecognized arguments: runserver
    • 我认为您需要将其作为一个新问题发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    相关资源
    最近更新 更多