그래서 Django에서 Highcharts를 사용하여 캔들차트를 만들어 보려고 했는데, 웹 페이지에 차트를 표시할 수 없고 대신 가져온 데이터의 JSON 목록이 표시됩니다.
이전 데이터를 얻기 위해 iexcloud의 API를 사용하고 있습니다
이것은 내 논리입니다. View.py 파일:
으아아아내 템플릿은 candlestick_chart.html
으아아아필요한 경우 내 URL 경로:
으아아아이것은 웹페이지에서 얻은 결과입니다. localhost 웹 이미지
console.log 문을 코드에 넣고 터미널에서 데이터를 인쇄해 보았는데 모든 것이 잘 작동하지만 모든 것이 잘 작동하는데 왜 차트가 웹 페이지에 나타나지 않는지 이해할 수 없습니다
@kikon의 제안을 따르겠습니다. a) 생성되는 localhost 페이지의 실제 소스 코드를 확인하고 b) 콘솔 출력을 확인하여 JS 오류가 발생하는지 확인하는 것이 도움이 될 것입니다. 이것들을 보지 않고서는 여기서 별로 도움이 될 수 없을 것 같습니다.
그러나 관련이 있을 수 있는 한 가지 사항은 현재 HTML
<body>
中加载<script/>
태그에 있다는 것입니다.이것은 Highcharts 생성자(
)를 의미하므로 약간의 반패턴입니다.Highcharts.stockChart()
) 可能会在相关 Highcharts 模块有机会加载之前执行,这将在控制台中抛出ReferenceError
.더 나은 패턴은
<head/>
块中包含<script/>
标签,并使用defer
属性,然后在 DOM 相关事件上触发 Highcharts 构造函数,例如DOMContentLoaded
또는 이와 유사합니다(정확한 이벤트는 특정 사용 사례/흐름에 따라 달라질 수 있음).동일한 작업을 수행하는 또 다른 패턴은 스크립트가 로드될 때까지 재시도(관련
ReferenceError
포착)하는 비동기 함수를 사용하는 것입니다.물론 이는 단지 추측일 뿐입니다. HTML 출력과 콘솔 출력을 보지 않고서는 여기서 무슨 일이 일어나고 있는지 정확히 판단하기가 어렵습니다.
그런데, Highcharts를 Django에 통합하려는 경우 Highcharts용 유료 플러그인으로 방금 출시된 Highcharts for Python 툴킷을 확인해 볼 수도 있습니다(전체 공개, 저는 Highcharts for Python 툴킷의 작성자입니다). Python 툴킷), Django 뷰 통합 중 일부를 단순화할 수 있습니다. p>
그동안 이 답변이 문제 진단/해결에 도움이 되기를 바라며, 자세한 내용을 공유해 주시면 보다 정확한 진단/제안으로 이 답변을 수정해 드리겠습니다.