Функция setdefault
Функция setdefault применяется внутри шаблонов
SimpleTemplate. Первым параметром передаётся имя
переменной, вторым - значение, которое нужно
установить, если переменной ещё нет. Функция
возвращает итоговое значение переменной.
Это удобно, когда шаблон должен работать даже
без переданных данных: setdefault задаёт
значение по умолчанию и не перезаписывает уже
существующую переменную.
Синтаксис
{{ setdefault(name, default) }}
Пример
Давайте установим значение по умолчанию для
переменной title и выведем её в шаблоне:
from bottle import Bottle, template
app = Bottle()
@app.route('/')
def index():
return template('index')
Файл шаблона index.tpl:
% setdefault('title', 'Default title')
<h1>{{ title }}</h1>
Результат выполнения кода:
<h1>Default title</h1>
Пример
Давайте передадим переменную title из
обработчика и убедимся, что значение по
умолчанию не перезаписывает её:
from bottle import Bottle, template
app = Bottle()
@app.route('/')
def index():
return template('index', title='Custom title')
Файл шаблона index.tpl:
% setdefault('title', 'Default title')
<h1>{{ title }}</h1>
Результат выполнения кода:
<h1>Custom title</h1>
Пример
Давайте сохраним результат работы функции
setdefault в переменную и используем
её в шаблоне:
from bottle import Bottle, template
app = Bottle()
@app.route('/')
def index():
return template('index')
Файл шаблона index.tpl:
% res = setdefault('user', 'abcde')
<p>{{ res }}</p>
Результат выполнения кода:
<p>abcde</p>