OwlCyberSecurity - MANAGER
Edit File: METADATA
Metadata-Version: 2.1 Name: aiohttp-jinja2 Version: 1.5 Summary: jinja2 template renderer for aiohttp.web (http server for asyncio) Home-page: https://github.com/aio-libs/aiohttp_jinja2/ Author: Andrew Svetlov Author-email: andrew.svetlov@gmail.com License: Apache 2 Platform: UNKNOWN Classifier: License :: OSI Approved :: Apache Software License Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Development Status :: 5 - Production/Stable Classifier: Topic :: Internet :: WWW/HTTP Classifier: Framework :: AsyncIO Classifier: Framework :: aiohttp Requires-Python: >=3.6 Requires-Dist: aiohttp (>=3.6.3) Requires-Dist: jinja2 (>=3.0.0) Requires-Dist: typing-extensions (>=3.7.4) ; python_version < "3.8" aiohttp_jinja2 ============== .. image:: https://github.com/aio-libs/aiohttp-jinja2/workflows/CI/badge.svg :target: https://github.com/aio-libs/aiohttp-jinja2/actions?query=workflow%3ACI .. image:: https://codecov.io/gh/aio-libs/aiohttp-jinja2/branch/master/graph/badge.svg :target: https://codecov.io/gh/aio-libs/aiohttp-jinja2 .. image:: https://img.shields.io/pypi/v/aiohttp-jinja2.svg :target: https://pypi.python.org/pypi/aiohttp-jinja2 .. image:: https://readthedocs.org/projects/aiohttp-jinja2/badge/?version=latest :target: http://aiohttp-jinja2.readthedocs.io/en/latest/?badge=latest jinja2_ template renderer for `aiohttp.web`__. .. _jinja2: http://jinja.pocoo.org .. _aiohttp_web: https://aiohttp.readthedocs.io/en/latest/web.html __ aiohttp_web_ Installation ------------ Install from PyPI:: pip install aiohttp-jinja2 Developing ---------- Install requirement and launch tests:: pip install -r requirements-dev.txt py.test tests Usage ----- Before template rendering you have to setup *jinja2 environment* first: .. code-block:: python app = web.Application() aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader('/path/to/templates/folder')) Import: .. code-block:: python import aiohttp_jinja2 import jinja2 After that you may to use template engine in your *web-handlers*. The most convenient way is to decorate a *web-handler*. Using the function based web handlers: .. code-block:: python @aiohttp_jinja2.template('tmpl.jinja2') def handler(request): return {'name': 'Andrew', 'surname': 'Svetlov'} Or for `Class Based Views <https://aiohttp.readthedocs.io/en/stable/web_quickstart.html#class-based-views>`: .. code-block:: python class Handler(web.View): @aiohttp_jinja2.template('tmpl.jinja2') async def get(self): return {'name': 'Andrew', 'surname': 'Svetlov'} On handler call the ``aiohttp_jinja2.template`` decorator will pass returned dictionary ``{'name': 'Andrew', 'surname': 'Svetlov'}`` into template named ``tmpl.jinja2`` for getting resulting HTML text. If you need more complex processing (set response headers for example) you may call ``render_template`` function. Using a function based web handler: .. code-block:: python async def handler(request): context = {'name': 'Andrew', 'surname': 'Svetlov'} response = aiohttp_jinja2.render_template('tmpl.jinja2', request, context) response.headers['Content-Language'] = 'ru' return response Or, again, a class based view: .. code-block:: python class Handler(web.View): async def get(self): context = {'name': 'Andrew', 'surname': 'Svetlov'} response = aiohttp_jinja2.render_template('tmpl.jinja2', self.request, context) response.headers['Content-Language'] = 'ru' return response License ------- ``aiohttp_jinja2`` is offered under the Apache 2 license. CHANGES ======= 1.5 (2021-08-21) ---------------- - Drop support for jinaj2 <3. Add support for 3+. - Don't require ``typing_extensions`` on Python 3.8+. 1.4.2 (2020-11-23) ------------------ - Add CHANGES.rst to MANIFEST.in and sdist #402 1.4.1 (2020-11-22) ------------------ - Document async rendering functions #396 1.4.0 (2020-11-12) ------------------ - Fix type annotation for ``context_processors`` argument #354 - Bump the minimal supported ``aiohttp`` version to 3.6.3 to avoid problems with uncompatibility between ``aiohttp`` and ``yarl`` - Add async rendering support #393 1.3.0 (2020-10-30) ------------------ - Remove Any from template annotations #343 - Fix type annotation for filters in ``aiohttp_jinja2.setup`` #330 - Drop Python 3.5, support Python 3.9 1.2.0 (2019-10-21) ------------------ - Add type hints #285 1.1.1 (2019-04-25) ------------------ - Bump minimal supported ``jinja2`` version to 2.10.1 to avoid security vulnerability problem. 1.1.0 (2018-09-05) ------------------ - Bump minimal supported ``aiohttp`` version to 3.2 - Use ``request.config_dict`` for accessing ``jinja2`` environment. It allows to reuse jinja rendering engine from parent application. 1.0.0 (2018-03-12) ------------------- - Allow context_processors to compose from parent apps #195 0.17.0 (2018-03-12) ------------------- - Auto-cast ``int`` values in ``url()`` jinja function to ``str`` #191 0.16.0 (2018-02-12) ------------------- - Pin to aiohttp 3.0+ - Deprecate non-async handlers support 0.15.0 (2018-01-30) ------------------- - Upgrade middleware to new style from aiohttp 2.3+ #182 - Autoescape all templates by default #179 0.13.0 (2016-12-14) ------------------- - Avoid subtle errors by copying context processor data #51 0.12.0 (2016-12-02) ------------------- - Add autodeploy script #46 0.11.0 (2016-11-24) ------------------- - Add jinja2 filters support #41 0.10.0 (2016-10-20) ------------------- - Rename package to aiohttp-jinja2 #31 0.9.0 (2016-09-26) ------------------ - Fix reason parameter in HTTPInternalServerError when template is not found #33 0.8.0 (2016-07-12) ------------------ - Add ability to render template without context #28 0.7.0 (2015-12-30) ------------------ - Add ability to decorate class based views (available in aiohttp 0.20) #18 - Upgrade aiohttp requirement to version 0.20.0+ 0.6.2 (2015-11-22) ------------------ - Make app_key parameter from render_string coroutine optional 0.6.0 (2015-10-29) ------------------ - Fix a bug in middleware (missed coroutine decorator) #16 - Drop Python 3.3 support (switched to aiohttp version v0.18.0) - Simplify context processors initialization by adding parameter to `setup()` 0.5.0 (2015-07-09) ------------------ - Introduce context processors #14 - Bypass StreamResponse #15 0.4.3 (2015-06-01) ------------------ - Fix distribution building: add manifest file 0.4.2 (2015-05-21) ------------------ - Make HTTPInternalServerError exceptions more verbose on console output 0.4.1 (2015-04-05) ------------------ - Documentation update 0.4.0 (2015-04-02) ------------------ - Add `render_string` method 0.3.1 (2015-04-01) ------------------ - Don't allow non-mapping context - Fix tiny documentation issues - Change the library logo 0.3.0 (2015-03-15) ------------------ - Documentation release 0.2.1 (2015-02-15) ------------------ - Fix `render_template` function 0.2.0 (2015-02-05) ------------------ - Migrate to aiohttp 0.14 - Add `status` parameter to template decorator - Drop optional `response` parameter 0.1.0 (2015-01-08) ------------------ - Initial release