почему модуль __init__ в проекте django загружается дважды - PullRequest
10 голосов
/ 21 января 2010

ставлю

print 'Hello world!'

в __init__.py в моем проекте django. Когда я бегу ./manage.py runserver сейчас, я получаю

gruszczy@gruszczy-laptop:~/Programy/project$ ./manage.py runserver
Hello world!
Hello world!
Validating models...
0 errors found

Почему __init__.py запускается дважды? Он должен быть загружен только один раз.

Ответы [ 2 ]

27 голосов
/ 21 января 2010

Загружается только один раз ... за процесс . Я предполагаю, что manage.py вилки, и что запущены два отдельных процесса. Не могли бы вы напечатать результат os.getpid()?

0 голосов
/ 22 января 2010

Один простой способ выяснить это - вызвать исключение. Возможно, что-то подобное в вашем init .py:

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

Затем вы можете проверить трассировку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...