我正在使用一个基本.html文件来创建所有子模板的导航栏。
我面临的问题是,这不再加载我的JS图表(谷歌图表)会干扰它们。 任何人都可以阐明为什么会发生这种情况,也许是可能的解决方法?
基.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% block tab_menu %}
<div class="topnav">
<a href="/index">Home</a>
<a href="/index/devops">Devops</a>
<a href="/index/qa">QA</a>
<a href="/index/frontend">Frontend</a>
<a href="/index/middleware">Middleware</a>
<a href="/index/portal">Portal</a>
<
</div>
{% endblock tab_menu %}
</body>
</html>
儿童.html:
<!DOCTYPE html>
{% extends "KPI/base.html" %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(VelocityChart);
function VelocityChart() {
var data = google.visualization.arrayToDataTable([
['Status', 'Number of Tasks'],
['Completed', {{completed_velocity}}],
['Incompleted', {{incomplete_velocity}}],
]);
var options = {
title: '',
is3D: true,
};
var chart = new google.visualization.PieChart(document.getElementById('velocity_chart'));
chart.draw(data, options);
}
</script>
</head>
<body>
{% block tab_menu %}
{{ block.super }}
<h2> QA Dashboard</h2>
<div id="velocity_chart"></div>
{% endblock tab_menu %}
</body>
</html>
base.html 文件中的代码在其他模板上工作正常,但不会加载子模板中的图表。
此外,图表在没有实现导航栏的情况下加载良好
**编辑了儿童{% extends "KPI/base.html" %}
的放置.html
这是因为当您扩展{% block %}
标签时.html它上方的任何内容都不会插入到基中。您需要创建{% block %}
标签来封装脚本以将它们插入 base.html。
扩展模板时,块标记之外的所有内容都会被丢弃。
添加了一个示例:
[[基地.html]]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
{% block script %} <!-- add matching block to contain insert -->
{% endblock %}
</head>
<body>
{% block tab_menu %}
<div class="topnav">
<a href="/index">Home</a>
<a href="/index/devops">Devops</a>
<a href="/index/qa">QA</a>
<a href="/index/frontend">Frontend</a>
<a href="/index/middleware">Middleware</a>
<a href="/index/portal">Portal</a>
<
</div>
{% endblock tab_menu %}
</body>
</html>
[[儿童.html]]
<!DOCTYPE html>
{% extends "base.html" %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- add block tag (along with endblock below) to insert your script -->
{% block script %}
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(VelocityChart);
function VelocityChart() {
var data = google.visualization.arrayToDataTable([
['Status', 'Number of Tasks'],
['Completed', {{completed_velocity}}],
['Incompleted', {{incomplete_velocity}}],
]);
var options = {
title: '',
is3D: true,
};
var chart = new google.visualization.PieChart(document.getElementById('velocity_chart'));
chart.draw(data, options);
}
</script>
{% endblock %}
</head>
<body>
{% block tab_menu %}
{{ block.super }}
<h2> QA Dashboard</h2>
<div id="velocity_chart"></div>
{% endblock tab_menu %}
</body>
</html>