django의 views.py에서 queryset을 d3.js로 전달하려고합니다.django에서 d3.js로 json 데이터 보내기
views.py :
DEF 인덱스 (요청).. 는 QS = DCPOWERSTATS.objects.all() 값 ('TS', 'PUE') order_by ('TS') 창 (렌더링 요청, '대시 보드/dash.html', 컨텍스트 = QS})
dash.html : 내가 좋아하는 뭔가를 만들 views.py와 dash.html에서 변경해야
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.chart div {
font: 10px sans-serif;
background-color: steelblue;
text-align: right;
padding: 3px;
margin: 1px;
color: white;
}
</style>
<div class="chart"></div>
<script src="//d3js.org/d3.v3.min.js"></script>
<script>
var data = {{ data_json }};
var x = d3.scale.linear()
.domain([0, d3.max(data)])
.range([0, 420]);
d3.select(".chart")
.selectAll("div")
.data(data)
.enter().append("div")
.style("width", function(d) { return x(d) + "px"; })
.text(function(d) { return d; });
</script>
: https://bl.ocks.org/mbostock/3885304
이전 답변은 모두 혼란 스럽습니다 .dash.html뿐 아니라 views.py에 대한 해결책이 필요합니다. 나는 또한 queryset 결과를 javascript로 보내는 완벽한 방법을 알아야한다.
감사합니다.
+1 템플릿/django rest framework. 데이터가 클라이언트에만 전달되는 경우 템플릿이 정상적으로 작동합니다. 하지만 PUT, POST 등을 받아들이 기 시작하면 DRF를 사용하는 것이 좋습니다. – DataSwede
그래서 동적 인 콘텐츠를 필요로한다면 클라이언트 측에서 AJAX 호출을 선호합니까? – sach20
@DataSwede가 주목 한 것처럼 여기에 데이터의 흐름도 관련성이 있습니다. 데이터가 서버에서 클라이언트로만 흐르는 경우 템플릿 접근 방식이 적합하지만 데이터를 다시 전달해야하는 경우 RESTful 방식을 고려해야합니다. – dahrens