url_for
в Flask используется для создания URL-адреса, чтобы предотвратить накладные расходы на изменение URL-адресов во всем приложении (в том числе в шаблонах). Без url_for
, если есть изменение в корневом URL вашего приложения, вам нужно изменить его на каждой странице, где присутствует ссылка.
Синтаксис: url_for('name of the function of the route','parameters (if required)')
Его можно использовать как:
@app.route('/index')
@app.route('/')
def index():
return 'you are in the index page'
Теперь, если у вас есть ссылка на индексную страницу: вы можете использовать это:
<a href={{ url_for('index') }}>Index</a>
Вы можете делать много вещей с помощью это, например:
@app.route('/questions/<int:question_id>'): #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error
def find_question(question_id):
return ('you asked for question{0}'.format(question_id))
Для вышесказанного мы можем использовать:
<a href = {{ url_for('find_question' ,question_id=1) }}>Question 1</a>
Как вы можете просто передать параметры!