Desarrollo WEB de Python: use el marco Tornado para hacer un sitio web simple [muro de confesiones]

prefacio

Hoy vamos a hacer un desarrollo web con Python y crear un sitio web simple de [Confession Wall]. Como todos sabemos, la función del muro de confesiones generalmente se trata más de publicar para encontrar a alguien, perdido y encontrado, o una plataforma donde todos puedan confesarse públicamente con sus personas favoritas.

Una breve introducción al marco Tornado

En Python, hay tres marcos principales de desarrollo WEB, y hoy en día se usa principalmente el marco Tornado (aunque este marco es un marco liviano que pocas personas usan)

Instale el código del módulo del marco Tornado
pip install tornado

  • Django
  • Matraz
  • Tornado

Ventajas del Marco Tornado

  • Micromarco, alto rendimiento
  • Soporte asíncrono

Desventajas del Tornado Framework

  • Menos ruedas, a diferencia de Django y otros marcos que admiten una gran cantidad de complementos.
  • Falta el mejor combate real, la empresa no usa mucho y los materiales de aprendizaje son pocos.

Escenarios de uso del marco Tornado

  • Crear microservicios

La composición del cuadro.

Prueba Tornado primero

Primero importe los módulos que se utilizarán esta vez

import time
from tornado import web, ioloop, httpserver

vista

class MainPageHandler(web.RequestHandler):
    def get(self, *args, **kwargs):  # 对应get请求
        self.wrilt('hello tornado')

establecer ruta

app = web.Application(
    [
        (r"/", MainPageHandler),
    ]
)

"/" significa visitar la página de inicio, por ejemplo, el nombre de dominio local es 127.0.0.1:8000/, lo que significa que al visitar este sitio web, visitará la página de inicio

Configure el zócalo frontal, llame

if __name__ == "__main__":
    # 前端socket
    http_server = httpserver.HTTPServer(app)
    http_server.listen(8000)
    ioloop.IOLoop.current().start()

Ejecute el programa y pruebe el agua primero

Cuando se inicia Tornado, no le pedirá que lo inicie como Django y Flask

Configure la página de inicio, llame a la plantilla de archivo front-end

# 首页
class MainPageHandler(web.RequestHandler):
    def get(self, *args, **kwargs):
        self.render('index.html', name='表白墙', messages=MESSAGES)

Esta vez, el archivo front-end se llama directamente y todavía hay muchos materiales en este sitio web.

Sitio web: https://www.17sucai.com/

configurar

settings = {
    
    
    'template_path': 'templates',  # 设置模板文件路径
    'static_path': 'statics'  # 静态文件路径
}

vista de la pared de la confesión

class WishHandler(web.RequestHandler):
    def get(self, *args, **kwargs):  # 对应get请求
        self.render('wish.html',name='表白墙')

    def post(self, *args, **kwargs):
        # 获取前端传递数据
        content = self.get_argument('content', default=None)
        name = self.get_argument('name', default='匿名')
        if content:
            # 添加数据
            MESSAGES.append({
    
    
                'name': name,
                'content': content,
                'id': len(MESSAGES) + 1,
                'num': len(MESSAGES) + 1,
                'time': time.strftime('%Y-%m-%d %H:%M:%S')
            })
            # 跳转
            self.redirect('/')

        else:
            self.write('内容不能为空')

mensaje

# 留言保存在全局变量中
MESSAGES = [
    {
    
    'id': 1, 'name': '学员', 'time': '2022-02-10 21:16:00', 'content': '真帅', 'num': 1}
]

Ejecute el código para ver el efecto final.

Supongo que te gusta

Origin blog.csdn.net/m0_48405781/article/details/123131101
Recomendado
Clasificación