当前位置: 首页 > 面试题库 >

检查Flask中Jinja2内部的变量类型

程禄
2023-03-14
问题内容

我创建的模板文件包含以下内容:

{% if type({'a':1,'b':2}) is dict %}
    print "Oh Yes!!"
{% else %}
    print "Oh No!!!"
{% endif %}

然后Jinja2回应说:

TemplateAssertionError: no test named 'dict'

我对Jinja2和Flask完全陌生


问题答案:

你正在寻找mapping测试

{% if {'a': 1, 'b': 2} is mapping %}
    "Oh Yes!"
{% else %}
    "Oh No!"
{% endif %}

Jinja 是不是Python的,因此你不必访问所有内建(typeprint不存在,例如,除非你将它们添加到背景下,在瓶,你这样做与context_processor装饰)。

你实际上根本不需要print。默认情况下,所有内容都会输出(除非你extends位于父模板的子模板中,在这种情况下,你可以做一些有趣的事情,例如NULL Master回退,因为仅输出具有主模板中可用名称的块)。



 类似资料:
  • 问题内容: 在内部类中,可以访问外部类的变量,但不能访问方法的局部变量。我了解了无法访问方法的局部变量的部分,但我想知道为什么外部类变量可以访问? 我的理解是,由于内部类与外部类绑定,因此只要父级可用,子级就可以访问其父级变量。我对么? 问题答案: 假设您的外部类在内部类的范围内(非静态)被称为,以获取该字段。 例如, 其中Outer是类的名称,并标识该字段。 您也可以直接抓取它,但是如果由于阴影

  • 在内部类中,外部类的变量是可访问的,但方法的局部变量不是。我理解了关于方法的局部变量不可访问的部分,但我想知道为什么外部类变量是可访问的? 我的理解是,由于内部类与外部类绑定,因此只要父类可用,子类就可以访问其父变量。我说得对吗?

  • 问题内容: 为什么我需要声明一个方法,好像我在方法中定义的需要使用它一样? 范例: } 为什么String 需要是最终常量?它如何影响? 问题答案: 答案是两者在不同的范围内。因此该变量可以在内部类访问它之前更改。将其最终确定可以防止这种情况。

  • 我正在使用Android Studio创建一个应用程序,并使用Firebase模拟后端数据库。目前,我正在尝试使应用程序能够接收并显示我通过Firebase输入的数据。当我使用Firebase data snapshot方法捕获数据时,由于快照发生在内部类中,我无法保存和使用数据。 例如,在Firebase中,我已将“Fri”的值指定给“2步”。如果您查看下面的代码,第一条print语句(内部类内

  • 我有以下几种: 我想调用倒计时方法: 不同物品约10次 方法: 如果调用此方法,则会出现错误: 变量从内部类中访问 我不想将变量设置为final,因为我必须在方法中编辑这些变量。我能做些什么呢?谢谢