会话快讯
aiohttp_session_flash的Python项目详细描述
aiohttp_session_闪存
库在aiohttp_session之上为aiohttp.web提供flash消息。
“flash消息”只是存储在会话中的字符串消息队列(或其他json可序列化对象)。
安装
pip install aiohttp_session_flash
用法
将会话中间件和aiohttp会话flash.middleware添加到应用程序的中间件列表中:
app=web.Application(middlewares=[aiohttp_session.session_middleware(EncryptedCookieStorage(b'x'*32)),aiohttp_session_flash.middleware,])
在处理程序中,根据需要拉入和推送flash消息:
fromaiohttpimportwebfromaiohttp_session_flashimportflash,pop_flashasyncdeffoo(request):flash(request,"Hello")flash(request,["This","works","too"])returnweb.Response(body=b'Flashed some messages')asyncdefbar(request):formessageinpop_flash(request):print(message)returnweb.Response(body=b'OK')
模板上下文处理器
模板上下文处理器提供给可以使用它的模板库:
aiohttp_mako_context_processors.setup(app,[...aiohttp_session_flash.context_processor,])
<ul> %formessageinget_flashed_messages(): <li>${message}</li> % endfor </ul>
贡献
运行测试
pip install -r requirements_test.txt pytest