django html extends 하여 재사용 하는 방법 질문드립니다.
조회수 454회
view에서 render로 호출할 페이지는 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<!-- <link rel="stylesheet" href="/static/bootstrap.css">-->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"
integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV"
crossorigin="anonymous"></script>
<!-- Google Chart -->
<script src="https://www.gstatic.com/charts/loader.js"></script>
<!-- d3 Chart -->
<script src="https://d3js.org/d3.v6.min.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">VMS</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup"
aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">자산 현황<span class="sr-only">(current)</span></a>
<a class="nav-item nav-link" href="#">item1</a>
<a class="nav-item nav-link" href="#">item2</a>
<a class="nav-item nav-link disabled" href="#">item3</a>
</div>
</div>
</nav>
<div class="container">
{% extends "graph/lineChart.html" %}
{% block contents %}
{% endblock %}
</div>
</body>
<script type="text/javascript">
{% block scripts %}
{% endblock %}
</script>
</html>
그리고 graph/lineChart.html 의 내용은 다음과 같습니다.
{% block contents %}
<div id="myPieChart"></div>
<div style="background:blue; width:100%; height:300px">tTESTSETSETSETSET</div>
<script>
google.charts.load('43', {packages: ['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Element');
data.addColumn('number', 'Percentage');
data.addRows([
['Nitrogen', 0.78],
['Oxygen', 0.21],
['Other', 0.01]
]);
// Instantiate and draw the chart.
var chart = new google.visualization.PieChart(document.getElementById('myPieChart'));
chart.draw(data, null);
}
</script>
{% endblock %}
lineChart.html의 내용을 {% block %} 없이 제 자리에 사용하면 정상적으로 작동합니다. 내용은 원형 그래프를 그려주는 코드입니다. 원형 그래프 코드에 데이터만 변경해가면서 다른 페이지에 extends해서 사용하고 싶은데 왜 안 될까요...? 제가 첨부한 코드에는 무슨 원인이 있을까요?
댓글 입력