django-admin.py 仅打印帮助信息

7 投票
6 回答
1674 浏览
提问于 2025-04-17 12:10

我正在使用django 1.3.1

我按照网上的教程,试着用“django-admin.py startproject mysite”来创建一个项目。

但是我总是收到这个信息:

D:\Code\djtest>django-admin.py startproject mysite
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
(...)

这是怎么回事呢?

6 个回答

1

在注册表编辑器中,找到
HKEY_CURRENT_USER\Software\Classes\Applications\python.exe\shell\open\command
把这里的内容从

"<your drive>:\Python<version>\python.exe" "%1"

改成

"<your drive>:\Python<version>\python.exe" "%1" %*

我也遇到过同样的问题,最后是这样解决的。

3

如果你使用的是Windows 7,记得去更新注册表中的一个设置,位置在:

HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command

把它的值改成:

"C:\Python27\python.exe" "%1" %*

(如果你把Python安装在其他地方,记得修改上面的值)

7

我遇到过完全一样的问题,后来用这个工具解决了:FileTypesManager

问题在于,django-admin.py没有从命令行接收到正确的参数。我做了个测试,在admin脚本的开头加了几行代码,显示参数的数量和内容,然后再继续执行其他操作。这个小改动是:

    #!d:\python27\python.exe
    from django.core import management
    import sys
    print 'Number of arguments:', len(sys.argv), 'arguments.'
    print 'Argument List:', str(sys.argv)

    if __name__ == "__main__":
       management.execute_from_command_line()

当你运行django-admin.py时,你会发现其实只传递了一个参数。这显然是不对的。

根据几个论坛的建议,我在命令行尝试了以下两种方法,结果都看起来没问题:

    assoc .py            -->  .py=Python.File
    ftype Python.File    -->  Python.File="D:\Python27\python.exe" "%1" %*   //Correct

然后我查看了注册表,里面的值也看起来不错。

但是,当我运行FileTypesManager(这个工具是免费的)时,它显示的情况却不一样。命令行的设置是:

   "D:\Python27\python.exe" "%1"      //Wrong!

我也不知道为什么,但一旦我更新了这个值,一切就顺利运行了。

希望这能帮到你。

撰写回答