Django开发附加组件

时间:2009-06-19 08:54:49

标签: python django

我遇到了各种Django开发添加项,特别是

我还没有完全使用所有这些。

我认为很难超越Django漂亮错误页面与iPythonEmbed shell相结合所获得的简单性和强大功能。

您使用哪些这些或其他工具进行开发,您从中获益的具体功能是什么?

也欢迎自编的命令和脚本。

6 个答案:

答案 0 :(得分:3)

我是一个爱django-annoyingrender_to方法。

@render_to('template.html')
def foo(request):
    bar = Bar.objects.all() 
    return {'bar': bar}

# equivalent to
def foo(request):
    bar = Bar.objects.all() 
    return render_to_response('template.html',
                              {'bar': bar},
                              context_instance=RequestContext(request))

我还没有使用过任何其他的,虽然我一直在看django-debug-toolbar。

答案 1 :(得分:3)

我在每个项目中使用django-extensions。我从来没有使用过很多东西,但仅仅管理命令shell_plusrunserver_plus是值得的。

Shell_plus只是自动加载你的所有模型:一个主要的节省时间(编辑:忘记一些同样重要的东西:如果安装了它也会使用ipython,用于标签完成和其他便利)。 Runserver_plus(需要Werkzeug)为您提供交互式500错误调试页面。您可以在追溯中的任何一点跳转到AJAX控制台 - 非常棒。

如果您从实际网站收到错误电子邮件并想要联系遇到错误的用户,print_user_for_session命令也很方便。

更新:Django的内置管理shell现在也使用IPython(如果可用)。创建IPython用户配置文件以自动导入模型以及您想要自动导入的任何其他内容相对容易。我不再使用django-extensions。

答案 2 :(得分:1)

我发现django-logging在开发过程中是一个很大的帮助

答案 3 :(得分:1)

from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()

ipshell() # This call anywhere in your program will start IPython.

这样,当您在视图中时,您可以进入命令行并进行探索。无论如何,所有必需的模型都将被导入,并且很容易替换shell_plus。对我而言,它甚至取代了runserver_plus的{​​{1}}。

(因为我发现我经常使用的东西,不是一个普遍流行的想法,我自己回答。)

答案 4 :(得分:1)

尝试djangodevtools,包括命令AliasCoverageitestselenium等。一些额外的命令非常酷!

答案 5 :(得分:0)

我们使用的最有用的Django开发插件是django-evolution。它是一种架构更新解决方案,可以在现有模型的更改中完成大量手动工作。它为我节省了无数的工作时间。