Передача значения запроса из HTML-шаблона Bottle в маршрут с кодировкой - PullRequest
0 голосов
/ 29 сентября 2018

Я хочу передать запрос из HTML-шаблона бутылки в функцию маршрута, которую я пытаюсь выполнить следующим образом:

<meta http-equiv="REFRESH" content="5; URL=http://superhost.gr/files/download?file={{ filename }}">

Маршрут объявлен следующим образом:

@app.route( '/download', method=['GET', 'POST'] )
def file():

    # Prepare selected file for download...
    if request.query:
        filename = request.query.get('file')
        filepath = '/static/files/'

        return static_file( filename, root=filepath, download=True )

Если имя файла в латинице, все идет хорошо, но если значение параметра 'file' содержит греческие буквы, я получаю исключение:

UnicodeEncodeError('ascii', '/static/files/Î\x92ιογÏ\x81αÏ\x86ικÏ\x8c - Î\x9dίκοÏ\x82.docx', 14, 34, 'ordinal not in range(128)')

Итак, когда я передаюзначение из шаблона в маршрут, мне нужно убедиться, что значение параметра будет передано с кодировкой 'utf-8', почти так же, как и при отправке форм, в противном случае я получаю ошибку Unicode.

<form method="POST" enctype="multipart/form-data" action="/mailform">

Как я могу это сделать?

...