Рубрики
Без рубрики

My aiohttp и jinja2 пример приложения

Недавно я начал использовать сервер AIOHTTP и AIOHTTP_JINJA2 для моего личного проекта. Это очень usef … Tagged с Python, Aiohttp, Jinja2.

Недавно я начал использовать aiohttp сервер и aiohttp_jinja2 Для моего личного проекта. Это очень полезно.

Моя версия Python – 3.8.2.

$ python --version
Python 3.8.2

# requirements.txt
aiohttp[speedups]
aiohttp_jinja

pip install aiohttp[speedups]
pip install aiohttp_jinja

Каталог проектов похож на ниже

.
└── app
    ├── main.py
    └── templates
        ├── index.html
        └── layout.html

aiohttp_jinja и aiohttp class Основанное представление может использоваться, как пример ниже.

# main.py

import logging
import pathlib
import sys

import jinja2
import aiohttp_jinja2
from aiohttp import web

@aiohttp_jinja2.template("index.html")
class HomeHandler(web.View):

    async def get(self):
        return {}

    async def post(self):
        form = await self.request.post()
        return {"name":form['name']}


if __name__ == "__main__":

    logging.basicConfig(level=logging.DEBUG)

    app = web.Application()

    # setup jinja2 
    aiohttp_jinja2.setup(app,
        loader=jinja2.FileSystemLoader(
            'templates'
            ))

    app.router.add_get('/', HomeHandler, name="index")
    app.router.add_post('/', HomeHandler)


    web.run_app(app)






    
    
    aiohttp and jinja test



    

My aiohttp jinja demo

{%block body%}{%endblock%}

{% extends "layout.html" %}
{% set title = "Main" %}
{% block body %}

    

Form test extended from layout.html

{% if name %}

My name is {{ name }}

{% endif %} {% endblock %}

Оригинал: “https://dev.to/kemurayama/my-aiohttp-and-jinja2-app-sample-gai”