diff --git a/panoramix/templates/panoramix/datasource.html b/panoramix/templates/panoramix/datasource.html
index 257dd77ef..f10eb699d 100644
--- a/panoramix/templates/panoramix/datasource.html
+++ b/panoramix/templates/panoramix/datasource.html
@@ -113,7 +113,7 @@ form input.form-control {
- {% block viz %}
+ {% block viz_html %}
{% if viz.error_msg %}
{{ viz.error_msg }}
{% endif %}
diff --git a/panoramix/templates/panoramix/viz.html b/panoramix/templates/panoramix/viz.html
index 47cd18292..23aeca85e 100644
--- a/panoramix/templates/panoramix/viz.html
+++ b/panoramix/templates/panoramix/viz.html
@@ -1,9 +1,16 @@
+{% import viz.template as viz_macros %}
+
{% if standalone %}
{% extends 'panoramix/viz_standalone.html' %}
{% else %}
{% extends 'panoramix/datasource.html' %}
{% endif %}
+
+{% block viz_html %}
+ {{ viz_macros.viz_html(viz) }}
+{% endblock %}
+
{% block head %}
{{super()}}
{% if not skip_libs %}
@@ -11,6 +18,7 @@
{% endfor %}
{% endif %}
+ {{ viz_macros.viz_css(viz) }}
{% endblock %}
@@ -25,4 +33,5 @@
{% endfor %}
{% endif %}
+ {{ viz_macros.viz_js(viz) }}
{% endblock %}
diff --git a/panoramix/templates/panoramix/viz_highcharts.html b/panoramix/templates/panoramix/viz_highcharts.html
index 6ec6f8fed..b47607ecc 100644
--- a/panoramix/templates/panoramix/viz_highcharts.html
+++ b/panoramix/templates/panoramix/viz_highcharts.html
@@ -1,11 +1,8 @@
-{% extends "panoramix/viz.html" %}
-{% block viz %}
- {{ super() }}
+{% macro viz_html(viz) %}
-{% endblock %}
+{% endmacro %}
-{% block tail %}
- {{ super() }}
+{% macro viz_js(viz) %}
-{% endblock %}
+{% endmacro %}
+
+{% macro viz_css(viz) %}
+{% endmacro %}
diff --git a/panoramix/templates/panoramix/viz_standalone.html b/panoramix/templates/panoramix/viz_standalone.html
index 64adf199f..cc52fb8fb 100644
--- a/panoramix/templates/panoramix/viz_standalone.html
+++ b/panoramix/templates/panoramix/viz_standalone.html
@@ -8,7 +8,7 @@
{% block tail %}{% endblock %}
- {% block viz %}
+ {% block viz_html %}
{% endblock %}