Ошибка Python/Django json.loads() при загрузке файла JSON
В моем проекте Django у меня следующая структура каталогов:
project/build/contracts/MyFile.json
И я пишу код в следующей директории
project/homeapp/views.py
<
with open("../build/contracts/MyFile.json", "r") as f:
data = json.loads(f.read())
abi = data["abi"]
В моем у меня есть следующий код:
Когда я пытаюсь python manage.py runserver, я получаю следующую ошибку:

Странно то, что я не мог понять, что не так, поэтому я сделал viewstest.py и поместил в него точно такой же код. Когда я запускаю его с python .\viewstest.py и вывожу JSON на консоль, он работает совершенно нормально.
Я даже пробовал импортировать переменную abi из viewstest.py в views.py, но получил ту же ошибку. Поэтому я предполагаю, что это ошибка, связанная с Django, но я не могу разобраться в ней.
Спасибо!
Должно быть json.load(), а не json.loads()
Измените следующий код на:
with open("../build/contracts/MyFile.json", "r") as file:
data = json.load(file)
abi = data["abi"]
Редактировать:
Другой альтернативой для получения правильного пути может быть использование Pathlib.
from pathlib import Path
def your_view_func(request):
current_dir = Path.cwd()
file_loc = 'build/contracts/MyFile.json'
with open(current_dir.joinpath(file_loc), 'r') as file:
data = json.load(file)
abi = data["abi"]