Настой простой маршрутизации идет не так - PullRequest
0 голосов
/ 28 декабря 2018

У меня проблема с простой маршрутизацией во Flask, из-за которой я не могу разобраться.

Вот проблемная функция и декоратор:

@app.route('/download/<filepath>', methods=['GET', 'POST'])
def download(filepath):
    return(send_file(filepath, as_attachment=True))

Вызываетсяследующий javascript:

var route='/download/'+filepath
$('#main').append('<div id="download"><div>Your report has been created</div><a class="btn btn-info btn-lg" href="'+route+'">Download report</a></div>');

Ошибка «Not Found» подразумевает проблему с маршрутизацией, а не простой IOerror, связанный с filepath.

Но маршрутизация мне кажется нормальной, есть какая-то очевидная ошибка, которую я делаю?Большое спасибо!

Редактировать: в Windows, если это актуально

1 Ответ

0 голосов
/ 28 декабря 2018

Посмотрите на типы конвертеров в документации Flask , которые указывают тип аргумента:

string  (default) accepts any text without a slash
path    like string but also accepts slashes

Я подозреваю, что ваша переменная должна иметь тип path, а непо умолчанию string:

@app.route('/download/<path:filepath>', methods=['GET', 'POST'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...