如何将文件传递给Django中的js函数?

时间:2018-12-12 14:19:35

标签: javascript django

我将PhylD3库集成到Django模板中。

css和js集成在Django静态目录中。

但是我真的不知道如何有效地将 xml 文件加载到模板中。

模板phyD3.html

{% extends "base.html" %}
{% load static %}


{% block title %} Test {% endblock %}

{%  block content %}


    <head>
        <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="https://d3js.org/d3.v3.min.js"></script>
        <link rel="stylesheet" href="{% static 'css/phyd3/phyd3.min.css' %}" />
        <script src="{% static 'js/phyd3/phyd3.min.js' %}"></script>
        <script>
            function load() {
                d3.xml("sample.xml", function(xml) {
                    var tree = phyd3.phyloxml.parse(xml);
                    phyd3.phylogram.build("#phyd3", tree, {});
                });
            };
        </script>
    </head>

    <body onload="load()">
        <div id="phyd3"></div>
    </body>


 {% endblock %}

view.py

def phyd3(request):

    return render(request, 'coregenome/phyD3.html')

浏览器控制台出现错误

enter image description here

1 个答案:

答案 0 :(得分:0)

我放置了静态标记以简单地加载文件。

    <script>
        function load() {
            d3.xml("{% static 'sample.xml' %}", function(xml) {
                var tree = phyd3.phyloxml.parse(xml);
                phyd3.phylogram.build("#phyd3", tree, {});
            });
        };
    </script>