@app.route('/dinner/')
@app.route('/dinner/<food>')
Это показывает, что если вы введете любой из двух URL, будет вызвана функция индекса. В одном из URL-адресов вы передаете какой-то аргумент, и индексная функция примет этот аргумент, но когда вы передаете 1-й URL-адрес, не передается ни один аргумент, который конфликтует с индексной функцией, так как для этого требуется некоторый аргумент
Лучший способ сделать это, чтобы сделать это:
@app.route('/dinner/', defaults={'food':None})
@app.route('/dinner/<food>')
Это будет обрабатывать случай по умолчанию, если вы не дадите никакого параметра.