Django:IOError [Errno 2]使用python读取JSON文件路径时没有这样的文件或目录

时间:2017-06-17 10:37:10

标签: python json django python-3.x python-2.7

尝试从我的本地django应用程序读取JSON文件时,我收到此类文件或目录错误。

请注意我尝试了Stackoverflow上提到的大部分方法。所以在说复制之前先想想......

这是我的代码,

尝试1:

json_data = os.path.join(BASE_DIR, STATIC_URL, "utils/config/my_json")
data = open(json_data,'r')

尝试2:

json_data = os.path.join(STATIC_URL, "utils/config/my_json")
data = open(json_data,'r')

尝试3:

json_data = os.path.join(BASE_DIR, STATIC_URL, "utils/config/my_json")
with open(json_data,'r') as file:
    print file

我收到此错误,

IOError at /my_url/
[Errno 2] No such file or directory: '/static/utils/config/my_json'
执行os.path.join()后的

文件网址为'/static/'

我的代码中的问题在哪里?如何在我的情况下阅读JSON?

2 个答案:

答案 0 :(得分:3)

你可以尝试以下方法:

json_data = os.path.join(BASE_DIR, 'static', "utils/config/my_json")
data = open(json_data,'r')

请在BASE_DIR目录中创建名为static的文件夹。 我想因为STATIC_URL以/开头,所以它会在根目录中搜索

答案 1 :(得分:0)

您正在使用STATIC_URL,您应该使用STATIC_ROOT。从磁盘读取文件与其URL无关。

首先请注意,静态目录可能已经预先添加了BASE_DIR。另请注意,这根本不是一个真正的静态文件,而应该只是在您的代码目录中。