Как создать функцию( метод) в классе Product по сохранению словаря в json файл, при переходе на сайт должно выводиться содержимое данного json файла?

Пока что просто разбираюсь в django. Не понятно как в моём классе создать метод по сохранению словаря в json, и чтобы при переходе на мой сайт по ссылке (http://localhost:8000/list) выводилось содержимое данного json файла.

Views:

from django.http import HttpResponse, HttpRequest
from django.http import Http404
from django.http import StreamingHttpResponse
from django.http import FileResponse
from django.http import JsonResponse
from django.template.loader import get_template
import json


def index(request):
    template = get_template('index.html')
    return HttpResponse(template.render())


def file_show(request):
    file = 'C:\lesson2.2\grocery_store\grocery_store\my_app\Zananas.jpg'
    return FileResponse(open(file, 'rb'))


# Класс Продуктов
class Product:
    __MAX_ID = 0

    def __init__(self, category: str, name: str, price: int, weight: int, expiration_date: str):
        self.id = Product.__MAX_ID
        Product.__MAX_ID += 1
        self.category = category
        self.name = name
        self.price = price
        self.weight = weight
        self.expiration_date = expiration_date
    
    def get_id(self):
        return self.id
    
    def __str__(self):
        return (f'ID продукта: {self.id}<br>'
                + f'Категория продукта: {self.category}<br>'
                + f'Название продукта: {self.name}<br>'
                + f'Цена товара: {self.price}руб.<br>'
                + f'Вес продукта: {self.weight}кг.<br>'
                + f'Дата хранения продукта: {self.expiration_date}.<br>')
    
    # Преобразование в словарь
    def get_to_dict(self):
        return {
            'id': self.id,
            'category': self.category,
            'name': self.name,
            'price': self.price,
            'weight': self.weight,
            'expiration_date': self.expiration_date
        }


# Словарь или продукты
products = [Product('Фрукты', 'Ананас', 139.89, 1, 'до 1 месяца'),
            Product('', '', '', '', ''),
            Product('Фрукты', 'Виноград', 119.99, 1, 'до 5–6 месяцев'),
            Product('Фрукты', 'Лимон', 89.99, 1, 'до7–8 месяцев'),
            Product('Фрукты', 'Фейхоа', 149.99, 1, 'до 1 недели')]
products1 = {'id': 0, 'category': 'Фрукты', 'name': 'Ананас', 'price': 139.89, 'weight': 1,
             'expiration_date': 'до 1 месяца'},
{'id': 1, 'category': '', 'name': '', 'price': '', 'weight': '', 'expiration_date': ''},
{'id': 2, 'category': 'Фрукты', 'name': 'Виноград', 'price': 119.99, 'weight': 1, 'expiration_date': 'до 5–6 месяцев'},
{'id': 3, 'category': 'Фрукты', 'name': 'Лимон', 'price': 89.99, 'weight': 1, 'expiration_date': 'до7–8 месяцев'},
{'id': 4, 'category': 'Фрукты', 'name': 'Фейхоа', 'price': 149.99, 'weight': 1, 'expiration_date': 'до 1 недели'}

urls:

from django.contrib import admin
from django.urls import path
from my_app.views import index, file_show, json_show

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', index),
    path('file', file_show, name='file_show'),
    path('json', json_show, name='json_show')
]

Ответы (0 шт):