使用 django 和 layui,TemplateSyntaxError 错误 {{# }}

  1. 报错
    使用 django 和 layui 写后台网站时,在 table.render({ })中使用 switch 开关,出现如下错误:
    django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: ‘# if(1){’ from ‘# if(1){’
    django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: ’ == 10006 ? ‘checked’ : ‘’’ from ‘d.id == 10006 ? ‘checked’ : ‘’’

  2. 分析:
    最终原因是 django 自动识别 {{ }} 为模板的变量代码:

    {{ 变量 }}:变量代码
    {% 代码段落 %}:逻辑代码

而 {{# if(false)}} 是 js 的逻辑代码,被django 误读,

  1. 解决办法:
    使用{% verbatim %}…{% endverbatim %} 标记即可

    # 形如:
    {% verbatim %}
    # 以下为 django的特殊标记
    {% extends "baseframe/basemanage.htm" %}
    {% load pager %}
    {% load convert %}
    {% block searchField %}
    {% endblock %}
    # 以上为 django的特殊标记
    {% endverbatim %}
    
  2. 代码复现
    js 代码:

    
                        
                        

你可能感兴趣的:(杂项汇总)