- *djangoрегистрация обработчиков сигналов в модуле без указания dispatch_uid будет произведена столько раз, сколько импортирован модуль#594292from pidgin, 23 months ago
Replies (8)
- @kekssw:... в случае использования различных идентификаторов мадуля в директиве импорта (если верить г-ну Беннету). чего делать не рекомендуется.#594292/1from Kopete, 22 months ago
- @sergray:@kekssw хм... не так давно в блоге у Ивана кто-то мне сказал, что все модели импортируются неявно при запуске Django (или как-то так) + ты их импортируешь сам как минимум раз, короче, у меня стабильно вешалось 2 обработчика на событие до использования dispatch_uid#594292/5from pidgin, 22 months ago, in reply to /3
- @kekssw:@sergray ты уверен, что импортировал в модулях точно также, как указал в INSTALLED_APPS? при запуске = при итерации по этому списку, дальше все зависит от твоего импорта (возможность импортировать по-разному появляется как раз из-за неявного добвления директории проекта в sys.path при загрузке)#594292/6from Kopete, 22 months ago, in reply to /5
- @kekssw:@sergray во-первых использовать везде один путь — кажется мне очень правильным соглашением. ибо в противном случае ты всегда рискуешь огрести при инциализации и пр. опреациях, не поддерживающих сессионные идентификаторы. на счет неявности — все зависит от твоего понимания происходящего под капотом. понятно, что джанго-серверу надо загрузить твои модели, понятно, что он сделает это посредством имопрта мудлей с моделями, понятно, что брать путь к ним он будет из настроек. так что если задуматься — все достаточно явно. с другой стороны, если каждый четный сигнал у тебя обрабатывается путем запуска ядерных боеголовок в направлении потенциального противника — конечно лучше вешать гардов, это касается не только регистрации в диспетчере сигналов (хорошо что в этом случае тебе не придется писать кода для этого). ибо всегда может прийти кто-нибудь со стороны и заимпортироваться не как ты.#594292/8from Kopete, 22 months ago, in reply to /7
