내 templates / 폴더에 html 파일이있는 FLask 앱이 있습니다. 내 index.html에 멋진 D3 시각화를 추가하고 싶었 기 때문에 먼저이 거품 예제를 내 templates / 폴더의 bubbles.html이라는 파일에 복사 / 붙여 넣기를 시도했습니다. http://bl.ocks.org/mbostock/ 4063269
Firefox로 bubbles.html을 열려고했지만 거품이 있어야하는 곳에 공백이 생겼습니다. 그리고 여기에 이상한 것이 있습니다. templates / 폴더에서 bubbles.html을 꺼내 다른 디렉토리에서 열었을 때 페이지가 올바르게로드되었습니다.
무엇이 문제입니까? 이 플롯을 내 앱에 통합하려면 어떻게해야합니까?
http 서버에서 파일을 제대로 제공하는지 확인하십시오. 여기서 주요 질문은 json을 만들고있는 index.html에 직접 붙여 넣는 지 여부 또는 별도의 json 파일을 사용하고 있는지 여부입니다.
d3.json은 json 파일을로드하기 위해 ajax 호출을합니다. 이 json 요청을 수행하려면 별도의 json 파일이 포함 된 디렉토리를 제공하는 http 서버가 있어야합니다. 이것은 디렉토리 (아마도 일부 서버에서 제공하는 디렉토리로)를 변경할 때 예상 차트가 나타나는 이유 일 수 있습니다. 대신 d3.json 호출을 인라인 방식으로 json에 대한 참조로 바꾸면 서버가 필요하지 않습니다. 대신 디렉토리에 관계없이 브라우저를 사용하여 파일 시스템에서 예제를 정적으로 볼 수 있어야합니다.
서버가 필요한 이유는 w3c 표준에 설명 된 것과 동일한 출처 정책 때문입니다. 이 글에서 간단한 해결책을 찾을 수 있습니다 : D3 Bar Graph example not working local . 파일이 제공되는 디렉토리에 대해 http 서버를 생성하거나 브라우저에서 동일한 원본 정책을 수정하는 두 가지 솔루션을 제공합니다. 안전 기준으로 인해 서버 접근 방식을 권장합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다