Ошибка продолжительности жизни ASGI Framework, продолжается без поддержки продолжительности жизни - PullRequest
0 голосов
/ 06 ноября 2019

После создания проекта с помощью django и аудита кода с помощью аудита Chrome отображается

Не использует HTTP / 2 для всех своих ресурсов 2 запроса не обслуживаются по HTTP / 2

, чтобы исправить эту ошибку, я следовал этому уроку

https://medium.com/python-pandemonium/how-to-serve-http-2-using-python-5e5bbd1e7ff1

и при использовании кода, указанного для кварта

import ssl

from quart import make_response, Quart, render_template, url_for

app = Quart(__name__)

@app.route('/')
async def index():
    result = await render_template('index.html')
    response = await make_response(result)
    response.push_promises.update([
        url_for('static', filename='css/bootstrap.min.css'),
        url_for('static', filename='js/bootstrap.min.js'),
        url_for('static', filename='js/jquery.min.js'),
    ])
    return response


if __name__ == '__main__':
    ssl_context = ssl.create_default_context(
        ssl.Purpose.CLIENT_AUTH,
    )
    ssl_context.options |= ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1
    ssl_context.set_ciphers('ECDHE+AESGCM')
    ssl_context.load_cert_chain(
        certfile='cert.pem', keyfile='key.pem',
    )
    ssl_context.set_alpn_protocols(['h2', 'http/1.1'])
    app.run(host='localhost', port=5000, ssl=ssl_context)

Я получаю

/ home / avin / Documents / projects / портфолио / portfolio_env / lib / python3.6 / site-packages / quart / app.py: 1320: UserWarning: дополнительные аргументы, ssl, пока не поддерживаются
«Дополнительные аргументы, {}, еще не поддерживаются» .format (','. Join (kwargs.keys ())), работает на https://localhost:5000 (CTRL + C для выхода) [2019-11-06 18: 30: 18,586] Ошибка продолжительности жизни ASGI Framework, продолжается без поддержки продолжительности жизни

, а также я не могу загрузить веб-страницу с помощью https://localhost:5000

1 Ответ

0 голосов
/ 08 ноября 2019

Ошибка продолжительности жизни ASGI Framework, продолжающаяся без поддержки продолжительности жизни

На самом деле это просто предупреждение, в котором отмечается, что Django еще не поддерживает часть продолжительности жизни спецификации ASGI. Что не вызовет проблем (учитывая фрагмент).

Статья, на которую вы ссылались, устарела, это обновленная версия . Чтобы он работал для вашего фрагмента, просто измените оператор if на этот (ниже), и он должен работать (хотя обновленная статья показывает лучший способ)

...

if __name__ == '__main__':
    app.run(
        host='localhost', port=5000, certfile='cert.pem', keyfile='key.pem'
    )
...