Найти - Пользователи
Полная версия: Передача содержимого файла flask
Начало » Web » Передача содержимого файла flask
1
zikfriddi
Всем доброго дня.
Вот что нужно сделать:
Есть список файлов на странице, нужно сделать чтобы пользователь по клику на них мог посмотреть их содержимое.
Вот что я сделал:
 @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
Но в файле отсутствуют переходы на новую строку и он валит весь текст сплошником.
krok64
Проверь чему у тебя filename равен. Возможно в нем нет символа @
zikfriddi
Первым делом проверил
вот чему он равен
 01.01.2017@1_042204#06_07_00.log
zikfriddi
Я думаю тут дело в readlines, потому как если прочесть файл read(), то ошибки не возникает
krok64
Попробуй перехватить эту ошибку и посмотреть что происходит
 try:
  file_name = filename.split('@')[1]
except IndexError:
  print(filename)
  raise
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB