我有一些代码可以在每个(几乎)每个管理员请求上运行但无法访问“请求”对象。
我需要找到Django安装的路径。我能做到:
import django
django_path = django.__file__
但是在请求过程中这似乎相当浪费。
将导入放在模块的开头会浪费内存吗?我很确定我在这里错过了一个明显的伎俩。
答案 0 :(得分:5)
只要Django已经在Python进程中import
编写了(例如,如果你的代码是在视图函数中),那么再次导入它就不会做“任何事情”* - 好吧,坚持一下,使用import django; django.__file__
。
现在,如果当前Python进程没有导入Django (例如,你正在调用os.system("myscript.py")
并且myscript.py
需要确定Django的路径),那么import django
将会有点浪费。但是对每个请求产生一个新进程也相当浪费......所以如果效率很重要,反正可能会更好import myscript
。
*:实际上它会在字典中设置一个值...但那是“没有”。