用于aiohttp.web的jinja2模板呈现程序(用于asyncio的http服务器)
aiohttp-jinja2的Python项目详细描述
Aiohttp_Jinja2
jinja2用于aiohttp.web的模板呈现程序。
安装
从pypi安装:
pip install aiohttp-jinja2
发展中
安装要求和启动测试:
pip install -r requirements-dev.txt py.test tests
使用量
在模板渲染之前,必须首先设置jinja2环境:
app=web.Application()aiohttp_jinja2.setup(app,loader=jinja2.FileSystemLoader('/path/to/templates/folder'))
导入:
importaiohttp_jinja2importjinja2
之后,您可以在web处理程序中使用模板引擎。这个 最方便的方法是装饰一个web handler。
使用基于函数的Web处理程序:
@aiohttp_jinja2.template('tmpl.jinja2')defhandler(request):return{'name':'Andrew','surname':'Svetlov'}
或基于类的视图 <;https://aiohttp.readthedocs.io/en/stable/web-quickstart.html基于类的视图>;:
classHandler(web.View):@aiohttp_jinja2.template('tmpl.jinja2')asyncdefget(self):return{'name':'Andrew','surname':'Svetlov'}
在处理程序调用时,aiohttp_jinja2.templatedecorator将传递 将字典{'name': 'Andrew', 'surname': 'Svetlov'}返回到 名为tmpl.jinja2的模板,用于获取生成的HTML文本。
如果需要更复杂的处理(例如设置响应头) 您可以调用render_template函数。
使用基于函数的Web处理程序:
asyncdefhandler(request):context={'name':'Andrew','surname':'Svetlov'}response=aiohttp_jinja2.render_template('tmpl.jinja2',request,context)response.headers['Content-Language']='ru'returnresponse
或者,同样,基于类的视图:
classHandler(web.View):asyncdefget(self):context={'name':'Andrew','surname':'Svetlov'}response=aiohttp_jinja2.render_template('tmpl.jinja2',self.request,context)response.headers['Content-Language']='ru'returnresponse
许可证
aiohttp_jinja2在apache 2许可下提供。
更改
1.1.1(2019-04-25)
- 将最低支持的jinja2版本提升到2.10.1,以避免安全漏洞问题。
1.1.0(2018-09-05)
- bump minimal受支持的aiohttp版本为3.2
- 使用request.config_dict访问jinja2环境。它 允许重用父应用程序中的Jinja呈现引擎。
1.0.0(2018-03-12)
- 允许上下文处理器从父应用程序组成195
0.17.0(2018-03-12)
- 自动将url()jinja函数中的int值转换为str191
0.16.0(2018-02-12)
- 插脚到AIOHTTP 3.0+
- 不支持非异步处理程序支持
0.15.0(2018-01-30)
- 将中间件从aiohttp 2.3+182升级到新样式
- 默认情况下自动转义所有模板179
0.13.0(2016-12-14)
- 通过复制上下文处理器数据避免细微错误51
0.12.0(2016-12-02)
- 添加自动部署脚本46
0.11.0(2016-11-24)
- 添加Jinja2过滤器支持41
0.10.0(2016-10-20)
- 将包重命名为aiohttp-jinja2 31
0.9.0(2016-09-26)
- 当模板不是时,修复httpinternalservererror中的原因参数 找到33
0.8.0(2016-07-12)
- 添加无上下文渲染模板的功能28
0.7.0(2015-12-30)
- 添加装饰基于类的视图的功能(在aiohttp 0.20中提供)18
- 将aiohttp要求升级到0.20.0+
0.6.2(2015-11-22)
- 使render字符串coroutine中的app_key参数成为可选参数
0.6.0(2015-10-29)
- 修复中间件中的一个错误(错过了coroutine decorator)16
- 放弃python 3.3支持(切换到aiohttp版本v0.18.0)
- 通过将参数添加到setup()
0.5.0(2015-07-09)
- 介绍上下文处理器14
- 旁路流响应15
0.4.3(2015-06-01)
- 修复分发生成:添加清单文件
0.4.2(2015-05-21)
- 在控制台上使httpinternalservererror异常更加详细 输出
- 文档更新
0.4.0(2015-04-02)
- 添加渲染字符串方法
0.3.1(2015-04-01)
- 不允许非映射上下文
- 解决微小的文档问题
- 更改库徽标
0.3.0(2015-03-15)
- 文档发布
0.2.1(2015-02-15)
- 修复渲染模板
0.2.0(2015-02-05)
- 迁移到aiohttp 0.14
- 将状态参数添加到模板装饰器
- 删除可选的响应参数
0.1.0(2015-01-08)
- 初始版本