Тест sameas
Тест sameas сравнивает две переменные
и возвращает True, если они указывают
на один и тот же объект в памяти.
В отличие от теста equalto, который
сравнивает значения, sameas проверяет
именно идентичность объектов.
Синтаксис: {% if переменная1 is sameas переменная2 %}.
Синтаксис
{% if value1 is sameas value2 %}
...
{% endif %}
Пример
Давайте сравним две переменные, которые ссылаются на один и тот же объект:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
shared = ['a', 'b', 'c', 'd', 'e']
return render_template('index.html', obj1=shared, obj2=shared)
Шаблон:
{% if obj1 is sameas obj2 %}
<p>Objects are identical</p>
{% else %}
<p>Objects are different</p>
{% endif %}
Результат выполнения кода:
<p>Objects are identical</p>
Пример
Давайте сравним две переменные с одинаковым содержимым, но разными объектами:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
obj1 = ['a', 'b', 'c', 'd', 'e']
obj2 = ['a', 'b', 'c', 'd', 'e']
return render_template('index.html', obj1=obj1, obj2=obj2)
Шаблон:
{% if obj1 is sameas obj2 %}
<p>Objects are identical</p>
{% else %}
<p>Objects are different</p>
{% endif %}
Результат выполнения кода:
<p>Objects are different</p>