如何将jinja2对象作为参数传递给jquery函数?

时间:2017-12-11 19:24:40

标签: javascript jquery python jinja2

在我的python脚本中,我有类似的东西

students = getStudent()  
return render_template('index.html', students = students)

学生是学生名单,每个学生都有姓名,身份证,身份证等......等属性。

在index.html中,我有这样的选择

 <select class="form-control" onchange="changeStudent">
     {% for student in students %}
         <option>{{student.name}}</option>
     {% endfor %}
 </select>

现在我想实现一个jquery函数,例如,如果该学生被选中,可以打印出学生信息。

function changeStudent(student) {
    alert(student.name)
}

我该怎么做?提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您在HTML中使用内联<script type="application/javascript">元素,则可以将其直接放在那里。

只需确保上下文中的对象是JSON格式的字符串,并且数据真的是safe

<强> view.py

import json
def index_view():
    students = json.dumps(getStudent())
    return render_template('index.html', students = students)

<强>的index.html

<html>
<body>
    <script type="application/javascript">
      var students = {{ students|safe }};
      // do your thang...    
    </script>
</body>
</html>