我正在使用Django编写一个自动菜单模块,它将列出BASE_DIR中具有urls.py文件的所有包。为此,我显然需要访问BASE_DIR,但我还没有找到一种标准的方法来实现这一点。我可以这样做:
from myproject import settings
do_stuff(settings.BASE_DIR)
但我不想将其硬编码到“myproject”中,因为此菜单模块也可以用于其他应用程序。有更好的解决方案吗?
这不是关于BASE_DIR的问题,而是关于导入设置的问题。无论如何,您提出的解决方案都不是有效的 Python 代码:导入不使用文件路径。
Django中导入设置的标准和完全文档化的方式如下:
from django.conf import settings
这将在任何 Django 项目中始终生效,并允许您访问任何设置。
from django.conf import settings
value = settings.BASE_DIR