【问题标题】:How do I install the Django snippet dumpscript?如何安装 Django 片段转储脚本?
【发布时间】:2009-10-22 11:22:48
【问题描述】:

如何在 Linux 上安装 Django sn-p,尤其是 snippet 818 - dumpscript?

更新 2。问题是关于 Linux 的,但作为参考,我在下面列出了在 Windows 上安装 dumpscript 的相应方法,例如在开发过程中使用。 (但如果没有文件访问限制,也可以通过其他/标准方式完成。)

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

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

sn-p dumpscript 现在是 Django Custom Management Command Extensions 的一部分,但我无法安装它,因为它位于托管服务器上,我无权接触 Python 安装。这是运行“python setup.py install”安装命令扩展时的错误信息:

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

我只想安装 sn-p 并使用它。

我曾尝试在托管服务器上以这种方式安装它:

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

【问题讨论】:

    标签: linux django


    【解决方案1】:

    只需将 sn-p 放入 {appname}/management/commands/,其中 {appname} 是已安装应用程序的名称。该目录中的每个 Python 模块都将被自动发现并注册为命令,当您运行 manage.py 时,该命令可以作为操作执行。

    如果这些文件尚不存在,您需要在 {appname}/management/ 和 {appname}/management/commands/ 中添加一个空的 __init__.py 才能正常工作。

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

    【讨论】:

    • 在两个目录中的每一个中创建一个空的“init.py”后,它与 management/commands 目录一起工作。谢谢!。我已经用最终解决方案更新了问题。
    • @Peter Mortensen - 谢谢,忘记了。我已经更新了我的答案。
    【解决方案2】:

    我已经有一段时间没有更新那个 djangosn-ps 版本了,希望它对你有用。

    请注意,您不需要像django_extensions 那样“安装”纯python 应用程序;您只需将文件夹放在路径上的某个位置(例如项目目录所在的位置)即可使用它。如果做不到这一点,请尝试使用django_extensions 中的dumpscript.py 文件(较新)

    我应该在接下来的几周内有时间进一步开发 dumpscript 并让它更好地使用一些新的 django 功能:-)

    干杯,威尔

    【讨论】:

    • dumpscript 工作正常。例如。我今天将它用于数据库迁移(因为我的应用程序中的 Django 模型已扩展)。
    猜你喜欢
    • 2018-06-25
    • 2011-06-10
    • 2018-07-31
    • 2013-08-15
    • 1970-01-01
    • 2021-03-27
    • 2021-11-09
    • 2011-06-21
    • 1970-01-01
    相关资源
    最近更新 更多