Назад | Перейти на главную страницу

Получение и правильная работа uWSGI

Я только начал работать с wsgi и пытаюсь запустить простой сервер uwsgi. Я создал среду virtualenv и активировал ее. Внутри lib у меня есть файл hello.py с содержимым:

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

И я бегу:

uwsgi --http :8000 --wsgi-file lib/hello.py --add-header "X-test: hi"

для запуска сервера.

Моя проблема в том, что сервер не успокаивает тело. Когда я перехожу к localhost: 8000, я вижу заголовок X-test, поэтому я определенно нажимаю uwsgi. Кроме того, если я заменю «200 OK» на что-то еще, я также увижу это в curl.

Я почти уверен, что правильно выполнил руководство (оно показалось довольно простым), может ли кто-нибудь заметить, что я делаю неправильно? Может быть, я использую python3? Я установил uwsgi через pip внутри своего virtualenv, если это вообще имеет значение.

WSGI для python3 отличается, ваш вывод должен быть байтами, а не строкой