2010-01-21 100 views

回答

22

它只能加載一次... 每個進程。我猜manage.py分叉,並且啓動了兩個獨立的進程。你能打印os.getpid()的結果嗎?

+15

沒錯。 Django使用兩個進程來重新加載功能(即重新啓動代碼更改),如果您運行'./manage.py runserver --noreload',您只會得到一個進程。 – Iftah 2014-01-05 12:57:26

+0

如果您使用'os.system('date +%Z')'檢查系統時區,則它第一次是您的本地時區。第二次是UTC,假設'settings.py'中有'TIMEZONE ='UTC''。 – osa 2014-04-22 19:10:52

0

找出答案的一個簡單方法是引發異常。或許,這樣的事情在你的初始化的.py:

import os 
if os.path.isfile('/tmp/once.log'): 
    raise Exception 
open('/tmp/once.log','w').write('first time') 

然後你可以檢查回溯。

+0

或者你可以把一個斷點,並在調試器... – Iftah 2014-01-05 12:58:36

相關問題