如何使用flask / jinja

时间:2019-06-27 07:43:03

标签: javascript python d3.js flask jinja2

我目前在一个正在使用flask的项目中工作,jinja在其中通过块驱动前端,目的是创建一种动态页面。但是,我目前停留在如何引用新页面/组件而不必在导航时刷新它们的问题上。

例如,在当前版本中,如果我通过按页面上的按钮来导航“前进”,则将加载新页面(静态html),但是没有任何显示,如果我随后刷新页面,则内容将正确加载该页面。如果我改为尝试加载具有静态内容(例如文本)的页面,则该页面会正确地加载。

到目前为止,我的理论是,这是由于我们在按钮按下时加载的D3图形加载速度不够快,无法立即调用,因此应实施某种侦听器或延迟。

但是,问题是应该如何正确实施。

在应用程序的当前状态下,我们已转为使用href链接来引用flask中的页面路由。我们试图放置一个“完成”检查器来查看内容加载功能是否运行,但是没有成功。但是,我们可能没有正确实现该功能。

在第一个html模板中:

{% extends "index.html" %}
{% block content %}

<body>
  <div class="container-fluid">
    <h1 class="mt-4">Simple Sidebar</h1>
    <canvas id="chart_1", height=40></canvas>

    <div class="form-group">
      <label for="comment">Comment:</label>
      <textarea class="form-control" rows="5" id="comment"></textarea>
    </div>

    <button type="button" class="btn btn-default"><a href=" {{ url_for('step_2') }} ">Next</a></button>
    <script type="text/javascript">


    </script>
  </div>
  <script type="text/javascript" src="{{ url_for('static', filename='js/chart_1.js') }}"></script>


</body>

{% endblock content %}

路由到Flask中的下一个模板

@app.route("/step_2")
def step_2():
    return render_template("chart_2.html", methods = ['GET'])

我没有收到任何错误消息,尽管它可以正常工作,但没有达到预期的目的。

0 个答案:

没有答案