@Rosin886
JavaScript and Python Developer

Ошибка в сервере на Flask, Python. Как решить?

Вот код сервера:
Код
import json

from flask import Flask, request, Response, redirect

app = Flask(__name__)


@app.route('/')
def redirectToAuthInformation():
    return redirect(location='/info')

@app.route('/dah', methods=['GET'])
def dah():
    data = request.query_string[8:];
    return data;

if __name__ == '__main__':
    app.run()


При запуске выдает такую ошибку:
Ошибка
ERROR in app: Exception on /dah [GET]
Traceback (most recent call last):
  File "C:\Users\Anton Rosin\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\Anton Rosin\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\Anton Rosin\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\Anton Rosin\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Users\Anton Rosin\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\Anton Rosin\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File ".\server.py", line 15, in dah
    return data;
TypeError: a bytes-like object is required, not 'str'


Как минимум полчаса сижу и пытаюсь решить эту проблему.
Мне нужно разделить строку данных, переданных GET запросом. (после разделения должен получится список по типу значение1, значение2 и т.д.)
  • Вопрос задан
  • 782 просмотра
Решения вопроса 1
@Rosin886 Автор вопроса
JavaScript and Python Developer
проблема решилась после переноса [8:] из data = request.query_string[8:]; в return data[8:];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
Попробуйте преобразовать в массив байтов
return data.encode('utf-8');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы