AttributeError: объект 'WSGIRequest' не имеет атрибута 'is_ajax' в Django 4 + highcharts

Я пытаюсь настроить отображение графиков в django с помощью highcharts и столкнулся с этой ошибкой:

AttributeError: объект 'WSGIRequest' не имеет атрибута 'is_ajax'

код:

views.py

import random

from django.shortcuts import render
from highcharts.views import HighChartsBarView


class BarView(HighChartsBarView):
    title = 'Example Bar Chart'
    subtitle = 'my subtitle'
    categories = ['Orange', 'Bananas', 'Apples']
    chart_type = ''
    chart = {'zoomType': 'xy'}
    tooltip = {'shared': 'true'}
    legend = {'layout': 'horizontal', 'align': 'left',
              'floating': 'true', 'verticalAlign': 'top',
              'y': -10, 'borderColor': '#e3e3e3'}

    @property
    def series(self):
        result = []
        for name in ('Joe', 'Jack', 'William', 'Averell'):
            data = []

        for x in range(len(self.categories)):
            data.append(random.randint(0, 10))
        result.append({'name': name, "data": data})
        return result

index.html

{% % load staticfiles %}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="{% static 'js/highcharts/highcharts.js' %}"></script>
<script type="text/javascript">
$(function () {
$.getJSON("{% url 'bar' %}", function(data) {
$('#container').highcharts(data);
});
});
</script>
</head>
<body>
<div id="container" style="height: 300px"></div>
</body>
</html>

Я понятия не имею, как это исправить

введите описание изображения здесь

Django-braces официально не поддерживает django4+ : https://pypi.org/project/django-braces/

Эта проблема уже исправлена на github, но еще не выпущена. https://github.com/brack3t/django-braces/issues/288

Вы можете установить github-версию с помощью pip :

pip install git+https://github.com/brack3t/django-braces.git

Надеюсь, что это просто проблема совместимости с django 4+ и все будет работать

Вернуться на верх