2009-06-19 82 views

回答

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調試工具欄。

3

過程中一個很大的幫助我在每一個項目中使用django-extensions。我從來沒有使用過很多東西,但單獨使用管理命令shell_plusrunserver_plus是值得的。

Shell_plus只是自動加載所有模型:一個重大的節省時間(編輯:忘帶了什麼東西同樣重要:它也利用了ipython如果安裝了標籤完成和其他便利)。 Runserver_plus(需要Werkzeug)爲您提供交互式500錯誤調試頁面。您可以在追溯中的任何時刻跳入AJAX控制檯 - 輝煌。

如果您收到來自現場網站的錯誤電子郵件並想要聯繫遇到錯誤的用戶,則print_user_for_session命令也非常方便。

更新:Django的內置管理外殼現在也使用IPython(如果可用)。創建一個IPython用戶配置文件來自動導入模型和其他你想要自動導入的東西相對容易。我不再使用django-extensions。

+0

自動加載您的所有模型聽起來不錯!我爲此寫了一段腳本,並且從此以後沒有使用過shell命令。 (另外,自動加載django.contrib.auth.models.User是一件大事,因爲鍵入shell是很長的。) – 2009-06-19 13:46:16

1
from IPython.Shell import IPShellEmbed 
ipshell = IPShellEmbed() 

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

這樣,當你在視圖中時,可以進入命令行並瀏覽。無論如何所有需要的模型將被輸入並且是shell_plus的一個容易的替換。對我而言,它甚至取代django-command-extensionsrunserver_plus

(因爲我發現了我經常使用的東西,並不是普遍流行的想法,我自己回答了。)

0

我們使用的最有用的Django開發插件是django-evolution。它是一個模式更新解決方案,它可以從現有模型中的大量手動工作中解脫出來。它爲我節省了無數個小時的工作。

1

嘗試djangodevtools,包括命令AliasCoverageitestselenium等一些額外的命令是非常酷!