获取Django本身的路径

And*_*ker 3 python django

我有一些代码可以在每个(几乎)每个管理请求上运行但无法访问'request'对象.

我需要找到Django安装的路径.我可以:

import django
django_path = django.__file__
Run Code Online (Sandbox Code Playgroud)

但是在请求中间这似乎相当浪费.

将导入放在模块的开头会浪费内存吗?我很确定我在这里错过了一个明显的伎俩.

Dav*_*ver 5

只要Django已经import在Python过程中编写过(如果你的代码是,例如,在视图函数中),那么再次导入它就不会做"任何事情"* - 所以坚持下去,使用import django; django.__file__.

现在,如果当前的Python进程没有导入Django (例如,你正在调用os.system("myscript.py")myscript.py需要确定Django的路径),那么import django 将会有点浪费.但是,对每个请求产生一个新流程相当浪费......所以如果效率很重要,那么import myscript无论如何它可能会更好.

*:实际上它会在字典中设置一个值...但那是"没有".