Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Передача содержимого файла flask [RSS Feed]

#1 Июль 5, 2017 15:18:20

zikfriddi
Зарегистрирован: 2016-07-29
Сообщения: 28
Репутация: +  0  -
Профиль   Адрес электронной почты  

Передача содержимого файла flask

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

 @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)

Офлайн

#2 Июль 5, 2017 15:23:02

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Передача содержимого файла flask

Проверь чему у тебя filename равен. Возможно в нем нет символа @

Офлайн

#3 Июль 5, 2017 15:25:14

zikfriddi
Зарегистрирован: 2016-07-29
Сообщения: 28
Репутация: +  0  -
Профиль   Адрес электронной почты  

Передача содержимого файла flask

Первым делом проверил
вот чему он равен

 01.01.2017@1_042204#06_07_00.log

Отредактировано zikfriddi (Июль 5, 2017 15:26:14)

Офлайн

#4 Июль 5, 2017 15:27:49

zikfriddi
Зарегистрирован: 2016-07-29
Сообщения: 28
Репутация: +  0  -
Профиль   Адрес электронной почты  

Передача содержимого файла flask

Я думаю тут дело в readlines, потому как если прочесть файл read(), то ошибки не возникает

Офлайн

#5 Июль 5, 2017 15:56:20

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Передача содержимого файла flask

Попробуй перехватить эту ошибку и посмотреть что происходит

 try:
  file_name = filename.split('@')[1]
except IndexError:
  print(filename)
  raise

Отредактировано krok64 (Июль 5, 2017 15:56:53)

Офлайн

  • Начало
  • » Web
  • » Передача содержимого файла flask[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version