這個問題:Automatically import models on Django shell launch有解釋如何通過使用shell_plus開始導入模型,但沒有答案關於如何運行一般的代碼。如何在django shell啓動時運行任意代碼?
但是,有沒有簡單的方法來運行一個python腳本?
python manage.py shell [or shell_plus] --run=script.py
只是運行腳本,就好像在shell啓動時鍵入整個內容一樣。
我意識到你可以在shell中導入東西,但是它們被困在命名空間中。
我認爲ipython應該有一種方法來運行腳本,然後將它的locals()
導入到頂級命名空間。在這種情況下,你可以做%magic script.py
,我們只需要一步,這會很好。
更改啓動shell的方式應該沒問題 - 主要目標是隻能創建在啓動shell時運行的文件。
問題是我可能不希望它運行所有shell - 我使用ipython除了django以外的東西!而shell_plus只加載模型。 – fastmultiplication 2012-07-17 03:17:08