views.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. from typing import Any, Union
  2. from django.core.handlers.wsgi import WSGIRequest
  3. from django.shortcuts import render
  4. from django.views.generic import View
  5. from django.http import HttpResponse, JsonResponse, HttpResponseNotFound
  6. from . import utils
  7. class Menu(View):
  8. """ Обрабатываем общие запросы связанные с меню """
  9. def get(self,
  10. request: WSGIRequest
  11. ) -> Union[HttpResponse, JsonResponse, HttpResponseNotFound]:
  12. return utils.MenuUtils().get_necessary_information(request)
  13. class SingleMenu(View):
  14. """ Обрабатываем запросы связанные с отдельным меню """
  15. def get(self, request: WSGIRequest, menu_name: str) -> HttpResponse:
  16. return utils.MenuUtils().show_single_menu(request, menu_name)
  17. class MenuHomePage(View):
  18. """ Обрабатываем запросы связанные с отображением базовой страницы меню """
  19. def get(self, request: WSGIRequest) -> HttpResponse:
  20. return render(request, 'menu/base_menu.html')