获取Django自身的路径

3 投票
1 回答
3886 浏览
提问于 2025-04-15 22:46

我有一些代码,它在几乎每个管理员请求时都会运行,但却无法访问到'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更好。

*: 实际上它会在一个字典里设置一个值……但这算是“没什么”。

撰写回答