尝试从我的本地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?
答案 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。另请注意,这根本不是一个真正的静态文件,而应该只是在您的代码目录中。