2016-11-22 49 views
1

我有以下包括在Django HTML模板文件:與Pygal SVG圖表工具提示問題

{% include 'categories_chart.svg' %}

然而,當一個請求並顯示在頁面上,鼠標懸停工具提示有不完整的信息 - 它只顯示價值,但不顯示項目的標題。該問題僅在請求的HTML文件中;實際的svg文件在單獨加載時包含正確的信息。下面是SVG文件內的提示,當它單獨打開:

enter image description here

這裏是在與完全相同的SVG文件Django的瀏覽器響應不完整的提示包括:

enter image description here

任何想法可能會造成這種情況?在Django響應中,這些工具提示看起來不僅僅是這種方式而已,儘管這是最重要的和可重現的錯誤,所以我首先關注它。

回答

2

我設法通過使用Base 64數據URI輸出而不是SVG文件來解決這個問題。有關信息,請參閱Paygal output page

只需將輸出分配給名稱,然後將該名稱從視圖呈現給您的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 }} />

這將顯示所有圖表完美無誤,沒有工具提示錯誤。