Flask Redirect с даннымиPython

Программы на Python
Anonymous
Flask Redirect с данными

Сообщение Anonymous »

У меня есть приложение Flask с обработчиком Get, который дает идентификатор рецепта в качестве параметра URL, он получает рецепт из базы данных, а затем выполняет его: < /p>

Код: Выделить всё

@app.route('/recipe/', methods=['GET'])
def get(id):
recipe = get_recipe_from_db(id)
return render_template('recipe.html', recipe=recipe)
Это приводит к получению URL -адреса/рецепт/5 . Вместо того, чтобы показывать только идентификатор в URL, я бы хотел, чтобы заголовок рецепта был частью полученного URL, например, рецепт/5/лимонный корм . По первым запросам известно только идентификатор. Пока что я придумал следующее: < /p>

Код: Выделить всё

@app.route('/recipe/', methods=['GET'])
def get(id):
recipe = get_recipe_from_db(id)
return redirect(url_for('get_with_title', id=id, title=urlify(recipe.title)))

@app.route('/recipe//', methods=['GET'])
def get_with_title(id, title=None):
recipe = get_recipe_from_db(id)
return render_template('recipe.html', recipe=recipe)
Это работает (то есть, когда пользователь посещает/рецепт/5 он перенаправляет в/рецепт/5/лимонный корм ), но страдает от того, что то же самое Рецепт получен из базы данных дважды.
Есть ли лучший способ сделать это? Большие содержащие несколько полей, и я не хочу передавать его по сети неоправданно.

Подробнее здесь: https://stackoverflow.com/questions/708 ... -with-data

Вернуться в «Python»