2013-03-01 36 views
2

每當我使用python manage.py shell啓動一個shell時,我想要自動執行幾行代碼。 (在我的情況下,它將是import django, my_app風格中的幾條導入線。)Django:在`manage.py shell`中自動執行語句

我該如何做?

+0

您可以安裝iPython並設置啓動腳本。如果可用,Django將檢測並使用iPython。 – isedev 2013-03-01 15:22:06

回答

-1

我最終修改了IPython.frontend.terminal.embed.InteractiveShellEmbed.__call__來添加我想要的定義。 (我知道很多人反對monkeypatching,但我覺得這是一個很好的解決方案)。

2

django-extensions做你想做的。如果您pip install django-extensions,並且您可以像往常一樣添加應用程序(在您的應用程序列表中,然後run syncdb),那麼您會得到一個名爲shell_plus的命令。

如果您運行python manage.py shell_plus,該命令會自動加載全部您的模型。真的很方便!如果結合IPython的強大功能,您可以使用django ORM獲得與您的模型進行交互的良好環境。

的更多信息:

希望這有助於。這可能比編寫啓動腳本的工作少。作爲一個額外的Django擴展給你很好的功能,如graph_models(它可以給你一個PNG圖形的數據庫)和show_urls。