Проблема всплывающей подсказки с диаграммой Pygal svg, включенной в шаблон Django

У меня есть следующее, включенное в файл шаблона html django:

{% include 'categories_chart.svg' %}

Однако, когда делается запрос и отображается страница, всплывающая подсказка при наведении мыши содержит неполную информацию - она ​​отображает только значение, но не заголовок элемента. Проблема только в запрошенном файле HTML; фактический файл svg, загружаемый отдельно, содержит правильную информацию. Вот всплывающая подсказка в файле svg, когда он открыт отдельно:

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

А вот неполная подсказка в ответе браузера Django с включенным точно таким же файлом svg:

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

Любая идея, что может быть причиной этого? Всплывающие подсказки, кажется, испорчены не только одним способом в ответе Django, но это самая заметная и воспроизводимая ошибка, поэтому я сначала сосредоточусь на ней.


person user2390206    schedule 22.11.2016    source источник


Ответы (1)


Мне удалось решить эту проблему, используя вывод URI данных Base 64 вместо файла SVG. Дополнительную информацию см. на странице выходных данных Paygal.

Просто назначьте вывод имени, затем отобразите это имя из своего представления в свой HTML-шаблон и вставьте диаграмму, используя контекст. Так, например:

your_chart = pygal.Line() (chart code goes here) some_name = your_chart.render_data_uri()

затем в вашем представлении django:

def charts_page(request): return render_to_response('charts_page.html', {'your_chart': some_name})

Наконец, в вашем шаблоне charts_page.html:

<embed type="image/svg+xml" src= {{ your_chart|safe }} />

Это позволит отображать все диаграммы безупречно и без ошибок всплывающей подсказки.

person user2390206    schedule 23.11.2016