我在一个javascript模板中循环,如:
{% for movie in movies %}
{{movie.name}}
{% endfor %}
无论如何,我可以调用一个返回所需DOM元素的javascript函数,如:
{% for movie in movies %}
<script>
function get_movie(name) {
return "<div> class='movie-title'>name</div>
}
get_movie({{movie.name}})
</script>
{% endfor %}
我只想调用一个js函数并进行一些检查并根据..
返回一个元素答案 0 :(得分:1)
当然有可能。你最好将<script>
标签移出django循环,也可以起作用。仅供参考,我将在此处放置一个示例,我的代码在我的django管理页面中绘制图表:
<script type="text/javascript">
{% if cl.show_chart %}
(function($) {
$(document).ready(function() {
var data = [
{% for sold in cl.get_sold_info %}
{
fullname: '{{ sold.fullname }}',
date: {{ sold.date|date:"U" }}000,
partner: '{{ sold.partner }}',
price: {{ sold.price }}
},
{% endfor %} ];
draw_charts(data, $);
});
})(someNamespace.jQuery);
{% endif %}
</script>
正如您所看到<script>
标记内部存在一些django条件,然后在某个函数内部使用模板for循环呈现某些数组。 draw_charts
定义在外面的某个地方。
我在所有这些情况下的建议 - 尽可能多地从这样的地方移动,或者你的代码变成了旧的PHP4。