大家好,请建议我如何在忍者2中为循环使用break
我正在使用带有if
条件的for
循环,如果if
条件为true
,我希望中断循环
这是我的密码
function refercheck(){
var input_value = document.getElementById('refer').value;
{% for i in refer %}
document.getElementById("valid").innerHTML = '';
if( input_value == "{{i.refercode}}" ){
$('#valid').append('Referred By {{i.username}}');
}
我在input onkeyup="refercheck()"
中使用这个函数,我正在从视图函数发送dict
。我的dict键是refer。我正在发送所有用户数据,并检查输入是否与其他用户refercode相同。上面的代码是只给我最后一行refercode相同。请告诉我如何在我的if条件为真时中断for循环,或者其他建议。
3条答案
按热度按时间11dmarpk1#
Jinja2同时支持
break
和continue,你只需要安装ext.loopcontorls
并激活jinja环境。这是文档链接。https://jinja.palletsprojects.com/en/2.11.x/api/?highlight=ext%20loopcontrols
我不知道这在Django中是如何工作的,但在Flask中,您只需在应用工厂中添加扩展:
wnvonmuf2#
根据this answer,可以在for循环语句中添加条件
简而言之:
你必须用其他方法来解决这个问题
这是我想到的我没有尝试代码,但这里的想法。
如果
i.refercode
和i.refercode
不起作用,请尝试i['refercode']
和i['refercode']
cunj1qz13#
循环控制导入名称:jinja2.ext.loopcontrols
这个扩展增加了对循环中break和continue的支持。启用后,Jinja提供了这两个关键字,它们的工作方式与Python完全相同。
提供在模板循环中中断和继续的能力,就像标准的Python关键字break和continue一样。
资料来源:https://jinja.palletsprojects.com/en/2.11.x/extensions/#loop-controls
添加扩展在创建时添加到Jinja环境。创建环境后,将无法添加其他扩展。若要添加扩展,请将扩展类或导入路径的列表传递到Environment构造函数的extensions参数。下面的示例创建加载了i18n扩展的Jinja环境:
jinja_env =环境(扩展名=['jinja2.ext.loopcontrols'])