Django:目录结构

Django:目录结构,django,Django,假设我有一个Django项目myproj,其中有一个应用程序myapp。在myproj/myapp中,有一个名为const.py的文件,它包含在应用程序的视图文件中,并从文本文件加载一些常量。此文本文件位于myproj/myapp/myfile.txt 在const.py中,当web服务器运行时,以下代码可以正常工作: with open('myapp/myfile.txt') 但是,如果我移动到目录myproj/myapp并从命令行运行python const.py,我会收到一个错误,说明它

假设我有一个Django项目myproj,其中有一个应用程序myapp。在myproj/myapp中,有一个名为const.py的文件,它包含在应用程序的视图文件中,并从文本文件加载一些常量。此文本文件位于myproj/myapp/myfile.txt

在const.py中,当web服务器运行时,以下代码可以正常工作:

with open('myapp/myfile.txt')
但是,如果我移动到目录myproj/myapp并从命令行运行python const.py,我会收到一个错误,说明它找不到文件myapp/myfile.txt。为了从命令行运行,我必须将const.py更改为:

但是,这对web服务器不起作用。我理解为什么第一个版本不能从命令行运行。但我不明白的是,为什么第一个版本在web服务器运行时工作,而第二个版本不工作。如果const.py与myfile.txt位于同一目录中,那么web服务器肯定会在同一目录中搜索myfile.txt。那它为什么找不到呢?为什么在搜索myapp/myfile.txt时,它能找到一个与const.py位于同一目录下的文件


谢谢

cd myproj和python myapp/const.py或用于规范化路径信息。可以,谢谢。但是,当Django从myapp/const.py的文件调用myapp/myfile.txt时,我仍然不清楚它是如何找到myapp/myfile.txt的。当然,这将查找myapp/myapp/myfile.txt,它不存在.Django,以便为导入提供方便的路径,并且模块利用了常见的模式,如。
with open('myfile.txt')