Форум сайта python.su
Всем доброго дня.
Вот что нужно сделать:
Есть список файлов на странице, нужно сделать чтобы пользователь по клику на них мог посмотреть их содержимое.
Вот что я сделал:
@app.route('/dowload/<my_vars>/<filename>', methods=['GET']) def dowload(filename = None, my_vars=None): data = filename.split('@')[0] file_name = filename.split('@')[1] if my_vars == 'radio_usr': return send_from_directory('report/usr/%s'%(data), file_name, as_attachment=True) else: with open(os.path.join('report/logs/%s'%(data), file_name), 'r', encoding='cp1251') as f: file = f.readlines() return render_template('simpl.html', file=file)
file_name = filename.split('@')[1] IndexError: list index out of range
return file
Отредактировано zikfriddi (Июль 5, 2017 15:24:06)
Офлайн
Проверь чему у тебя filename равен. Возможно в нем нет символа @
Офлайн
Первым делом проверил
вот чему он равен
01.01.2017@1_042204#06_07_00.log
Отредактировано zikfriddi (Июль 5, 2017 15:26:14)
Офлайн
Я думаю тут дело в readlines, потому как если прочесть файл read(), то ошибки не возникает
Офлайн
Попробуй перехватить эту ошибку и посмотреть что происходит
try: file_name = filename.split('@')[1] except IndexError: print(filename) raise
Отредактировано krok64 (Июль 5, 2017 15:56:53)
Офлайн