ставлю
print 'Hello world!'
в __init__.py в моем проекте django. Когда я бегу ./manage.py runserver сейчас, я получаю
__init__.py
./manage.py runserver
gruszczy@gruszczy-laptop:~/Programy/project$ ./manage.py runserver Hello world! Hello world! Validating models... 0 errors found
Почему __init__.py запускается дважды? Он должен быть загружен только один раз.
Загружается только один раз ... за процесс . Я предполагаю, что manage.py вилки, и что запущены два отдельных процесса. Не могли бы вы напечатать результат os.getpid()?
manage.py
os.getpid()
Один простой способ выяснить это - вызвать исключение. Возможно, что-то подобное в вашем init .py:
import os if os.path.isfile('/tmp/once.log'): raise Exception open('/tmp/once.log','w').write('first time')
Затем вы можете проверить трассировку.