获取Django自身的路径
我有一些代码,它在几乎每个管理员请求时都会运行,但却无法访问到'request'这个对象。
我需要找到Django的安装路径。我可以这样做:
import django
django_path = django.__file__
但是在处理请求的时候这样做似乎有点浪费资源。
把导入放在模块的开头会浪费内存吗?我觉得我可能错过了什么简单的方法。
1 个回答
5
只要Django已经在Python程序中被import
过(比如说,你的代码在一个视图函数里),那么再次导入它其实不会有什么影响——所以你可以随意使用import django; django.__file__
。
不过,如果Django在当前的Python程序中没有被导入(比如你在运行os.system("myscript.py")
,而myscript.py
需要找Django的路径),那么import django
就会有点浪费资源。但是每次请求都新开一个进程也是相当浪费的……所以如果效率很重要,可能还是直接import myscript
更好。
*: 实际上它会在一个字典里设置一个值……但这算是“没什么”。