Получить путь к самому Джанго - PullRequest
3 голосов
/ 16 мая 2010

У меня есть код, который запускается при каждом (почти) каждом запросе администратора, но не имеет доступа к объекту 'request'.

Мне нужно найти путь к установке Django. Я мог бы сделать:

import django
django_path = django.__file__

но это кажется довольно расточительным в середине запроса.

Удаляет ли импорт импорта в начале модуля память? Я вполне уверен, что здесь упущен очевидный трюк.

1 Ответ

5 голосов
/ 16 мая 2010

До тех пор, пока Django уже был import редактирован в процессе Python (что у него есть, если ваш код, например, в функции представления), его повторный импорт не будет "ничего" * - так сойти с ума, используйте import django; django.__file__.

Теперь, если Django не был импортирован текущим процессом Python (например, вы вызываете os.system("myscript.py"), а myscript.py необходимо определить путь Django), тогда import django будет немного расточительным. Но порождение нового процесса при каждом запросе также довольно расточительно ... Так что, если эффективность важна, она может быть лучше import myscript в любом случае.

*: на самом деле он устанавливает значение в словаре ... Но это "ничто".

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