Используйте методику, приведенную ниже:
def render(template, **vars):
# In practice this would render a template
print(vars)
def index():
title = 'A title'
subject = 'A subject'
render("index.html", **locals())
if __name__ == '__main__':
index()
Когда вы запускаете вышеприведенный скрипт, он печатает
{'subject': 'A subject', 'title': 'A title'}
, показывая, что словарь vars
может использоваться как контекст шаблонаточно так же, как если бы вы сделали вызов следующим образом:
render("index.html", title='A title', subject='A subject')
Если вы используете locals()
, он будет передавать локальные переменные, определенные в теле функции index()
, а также любые параметры, передаваемые вindex()
- например, self
для метода.