python写web封装app_2.编写Web App骨架——Python实战

阅读目录:

1.开始编写

1.开始编写

由于我们的Web App建立在 asyncio 的基础上,因此用 aiohttp 写一个基本的 app.py ,以下是廖雪峰老师教程中的代码,但是存在很多问题,

在web.Response(body=b’

Awesome

’) 中未设置转码和头信息,导致最终点击 http://127.0.0.1:9000 是一个二进制的文件下载;

app.make_handler() 这种方式已经太过于老旧,运行会报警告;

在aiohttp中使用yield from方式太过于老旧,如果实在要用下面代码方式的话建议改为 async 和await。

感兴趣的同学可以看看

廖雪峰老师教程中的代码:

import logging; logging.basicConfig(level=logging.INFO)

import asyncio, os, json, timefromdatetime import datetimefromaiohttp import web

def index(request):return web.Response(body=b'

Awesome

')

@asyncio.coroutine

def init(loop):

app= web.Application(loop=loop)

app.router.add_route('GET', '/', index)

srv= yield from loop.create_server(app.make_handler(), '127.0.0.1', 9000)

logging.info('server started at http://127.0.0.1:9000...')returnsrv

loop=asyncio.get_event_loop()

loop.run_until_complete(init(loop))

loop.run_forever()

个人:

import logging

from aiohttp import web

logging.basicConfig(level=logging.INFO) #配置logging的基本信息,level=logging.INFO,记录INFO及以上的日志

def index(request):

return web.Response(body='

Awesome

'.encode('utf-8'),content_type='text/html')

def init():

app = web.Application()

app.router.add_route('GET','/', index)

web.run_app(app,host='127.0.0.1',port=8000)

logging.info('server started at http://127.0.0.1:9001....')

init()

这说明我们的Web App骨架已经搭好了,可以进一步往里面添加更多的东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值