2014-02-03 8 views
0

Я пытаюсь создать динамически создаваемые страницы для загрузки некоторых загруженных файлов на моем сайте. У меня есть настройка маршрутизации и шаблон, который покажет имя файла. Я хочу, чтобы на этой странице была кнопка, которая при нажатии вызывает send_from_directory и загружает файл. Как я могу это сделать?Flask - действие при нажатии кнопки HTML?

Моя функция в Python, что делает загрузку страницы:

@app.route('/<new_folder_name>/', subdomain='f') 
def uploaded_file(new_folder_name): 
    filename = subfolder_fetch(new_folder_name) 
    return render_template("download.html", filename=filename) 

Моя кнопка в HTML только что-то вроде:

{% block body %} 
<div id = "filename"> 
{{filename}} 
</div> 

<button name="dlbutton">Download</button> 


{% endblock %} 

не имеют формы или что-нибудь создать, сделать Мне нужно сделать что-то вроде того, чтобы установить его, а затем уловить запрос с флягой? Как мне это сделать, или есть более простой способ?

+0

Если вы не используете формы POST или GET, то вам придется использовать Javascript. –

ответ

1

Создать download_file маршрут с send_from_directory ответ и использовать ссылку для загрузки файла:

<a href="{{ url_for('download_file', filename=filename) }}" name="dlbutton">Download</a> 
Смежные вопросы