用于aiohttp.web的jinja2模板呈现程序(用于asyncio的http服务器)

aiohttp-jinja2的Python项目详细描述


Aiohttp_Jinja2

https://travis-ci.org/aio-libs/aiohttp-jinja2.svg?branch=masterhttps://codecov.io/gh/aio-libs/aiohttp-jinja2/branch/master/graph/badge.svghttps://img.shields.io/pypi/v/aiohttp-jinja2.svghttps://readthedocs.org/projects/aiohttp-jinja2/badge/?version=latest

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.1(2015-04-05)
  • 文档更新

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)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入