如何安装Django代码段dumpscript?

时间:2009-10-22 11:22:49

标签: linux django

如何在Linux上安装Django代码段,尤其是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

代码段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

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

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

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 个答案:

答案 0 :(得分:2)

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

如果这些文件尚不存在,您需要在__init__.py{appname}/management/中添加空{appname}/management/commands/才能生效。

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

答案 1 :(得分:1)

我还没有更新djangosnippets版本一段时间,我希望它适合你。

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

我应该在接下来的几周内有一些时间来进一步发展dumpscript并使其与一些较新的django功能更好地发挥: - )

干杯,威尔