代码之家  ›  专栏  ›  技术社区  ›  Peter Mortensen icecrime

如何安装django snippet dumpscript?

  •  3
  • Peter Mortensen icecrime  · 技术社区  · 15 年前

    特别是如何安装django片段 snippet 818 - dumpscript 在Linux上?

    更新2 . 问题是关于Linux,但为了参考,我列出了相应的安装方法 垃圾脚本 在下面的窗口上,例如在开发期间使用。(但如果没有文件访问限制,也可以使用其他/标准方法。)

    更新1 . 这将为名为“programrelease”的应用程序安装它(在Linux命令行窗口中, Bash 壳牌):

    cd /home/msquant/www/GoogleCodeHost/programRelease
    mkdir management
    touch management/__init__.py
    mkdir management/commands
    touch management/commands/__init__.py
    wget  http://www.djangosnippets.org/snippets/818/download/ --output-document=/home/msquant/818.py
    cp /home/msquant/818.py management/commands/dumpscript.py
    

    片断 垃圾脚本 是现在的一部分 Django Custom Management Command Extensions 但是我不能安装它,因为这是在宿主服务器上的,我没有访问Python安装的权限。这是运行“python setup.py install”安装命令扩展名时的错误消息:

    error: could not create '/usr/lib/python2.5/site-packages/django_extensions': Permission denied
    

    相反,我只想安装并使用代码片段。

    我尝试在宿主服务器上以这种方式安装它:

    cd /home/msquant/
    wget  http://www.djangosnippets.org/snippets/818/download/  --output-document=818.py
    cp /home/msquant/818.py /home/msquant/www/GoogleCodeHost/dumpscript.py
    

    用这种方法:

    cd /home/msquant/www/GoogleCodeHost
    python manage.py dumpscript programRelease 
    

    错误消息:

    Unknown command: 'dumpscript'
    Type 'manage.py help' for usage.
    

    内置的 dumpdata 工作(输出到 JSON 格式:

    cd /home/msquant/www/GoogleCodeHost
    python manage.py dumpdata programRelease 
    

    参考上述“更新2”:

    在Windows上安装(假定为exe文件 wget 位于目录d:\wget中,临时目录d:\temp2存在):

    d:
    cd D:\dproj\MSQall\website\GoogleCodeHost
    mkdir management
    echo. > management\__init__.py
    mkdir management\commands
    echo. > management\commands\__init__.py
    D:\wget\wget.exe  http://www.djangosnippets.org/snippets/818/download/ --output-document=d:\temp2\818.py
    copy d:\temp2\818.py management\commands\dumpscript.py
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Dominic Rodger    15 年前

    把代码片段放进去 {appname}/management/commands/ 在哪里 {appname} 是已安装应用程序的名称。该目录中的每个python模块都将被自动发现并注册为一个命令,可以在运行时作为操作执行。 manage.py .

    你需要放一个空的 __init__.py 在两者 {appname}/management/ AppName/管理/命令/ 如果这些文件还不存在,就可以这样做。

    the docs 有关编写自定义命令的更多信息(显然,在您的情况下,该命令已经被编写)。

        2
  •  1
  •   Will Hardy    15 年前

    我已经有一段时间没有更新djangosnippets的版本了,希望它对你有用。

    注意,您不需要像 django_extensions ;只需将文件夹放在路径的某个位置(如项目目录所在的位置),就可以使用它。如果失败,请尝试使用 dumpscript.py 文件中找到 Django_扩展 (更新了)

    在接下来的几周里我应该有一些时间来发展 dumpscript 再远一点,让它更好地发挥一些新的django功能:—)

    干杯,威尔