Django отображает динамическое содержимое json-файла в шаблоне
У меня есть файл json на сервере Django
- Содержание файла динамически меняется .
- Я не хочу хранить json данные как Django модель в базе данных
Мой вопрос: существует ли технически недорогой и эффективный способ отображения json-содержимого в шаблоне Django в виде фронтенд-веб-страницы? Все, что мне нужно, это отображение json данных на веб-странице Django приложения
Мне кажется, что я упускаю какую-то информацию, но любой объект json/словарь json можно представить в виде строки, и существует множество способов ее форматирования (например, json.dumps() с аргументом ключевого слова indent). Вы можете просто хранить строку в объекте контекста, который передается в функцию рендеринга.
Есть несколько вариантов, я рекомендую хранить ваши данные в json файле внутри вашего проекта, каждый раз, когда вам нужно обновлять ваш json файл, может быть через сигнал, если это происходит, когда вы сохраняете некоторые данные, или в то время, когда вам это нужно.
Затем в представлении, читаем и бросаем для рендеринга ваш json файл, таким образом, не требуется так много обработки, или трогать БД, это как кэш файл.
Чтобы написать его:
with open(
"path_to_file/your_file.json"), "w"
) as f:
json.dump(your_dict_with_data, f)
Выразить
return HttpResponse(open("path_to_file/your_file.json", 'r'), content_type = 'application/json; charset=utf8')