我所遇到的各種Django開發附加功能,尤其是Django開發的附加組件
我還沒有完全使用所有這些。
我認爲很難把Django漂亮的錯誤頁面與iPythonEmbed shell結合在一起所獲得的簡單和強大的功能。
您使用了哪些這些或其他工具進行開發,您從中受益了哪些確切功能?
也歡迎自行編寫命令和腳本。
我所遇到的各種Django開發附加功能,尤其是Django開發的附加組件
我還沒有完全使用所有這些。
我認爲很難把Django漂亮的錯誤頁面與iPythonEmbed shell結合在一起所獲得的簡單和強大的功能。
您使用了哪些這些或其他工具進行開發,您從中受益了哪些確切功能?
也歡迎自行編寫命令和腳本。
我爲一個愛人django-annoying的render_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調試工具欄。
我發現django-logging是發展
過程中一個很大的幫助我在每一個項目中使用django-extensions。我從來沒有使用過很多東西,但單獨使用管理命令shell_plus和runserver_plus是值得的。
Shell_plus只是自動加載所有模型:一個重大的節省時間(編輯:忘帶了什麼東西同樣重要:它也利用了ipython如果安裝了標籤完成和其他便利)。 Runserver_plus(需要Werkzeug)爲您提供交互式500錯誤調試頁面。您可以在追溯中的任何時刻跳入AJAX控制檯 - 輝煌。
如果您收到來自現場網站的錯誤電子郵件並想要聯繫遇到錯誤的用戶,則print_user_for_session命令也非常方便。
更新:Django的內置管理外殼現在也使用IPython(如果可用)。創建一個IPython用戶配置文件來自動導入模型和其他你想要自動導入的東西相對容易。我不再使用django-extensions。
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell() # This call anywhere in your program will start IPython.
這樣,當你在視圖中時,可以進入命令行並瀏覽。無論如何所有需要的模型將被輸入並且是shell_plus
的一個容易的替換。對我而言,它甚至取代django-command-extensions
的runserver_plus
。
(因爲我發現了我經常使用的東西,並不是普遍流行的想法,我自己回答了。)
我們使用的最有用的Django開發插件是django-evolution。它是一個模式更新解決方案,它可以從現有模型中的大量手動工作中解脫出來。它爲我節省了無數個小時的工作。
嘗試djangodevtools,包括命令Alias
,Coverage
,itest
,selenium
等一些額外的命令是非常酷!
自動加載您的所有模型聽起來不錯!我爲此寫了一段腳本,並且從此以後沒有使用過shell命令。 (另外,自動加載django.contrib.auth.models.User是一件大事,因爲鍵入shell是很長的。) – 2009-06-19 13:46:16