本文共 4674 字,大约阅读时间需要 15 分钟。
事先建立好mysql数据和插入数据,我使用图形化界面创建数据库和插入数据
如果希望用mysql的gui工具推荐
MySQL 的 GUI 工具-Navicat具体请查看廖老师的网站介绍
file:///D:/python3-webapp-Su/www/templates/home.html
Test users - Python Webapp All users
{% for u in users %}{
{ u.name }} / { { u.email }} {% endfor %}
=============================# app.pyasync def init(loop): await orm.create_pool(loop=loop, host='127.0.0.1', port=3306, user='root', password='', db='sufadi') app = web.Application(loop=loop, middlewares=[ logger_factory, response_factory ]) # 通过router的指定的方法可以把请求的链接和对应的处理函数关联在 init_jinja2(app, filters=dict(datetime=datetime_filter)) add_routes(app, 'handlers') add_static(app) # 运行web服务,服务器启动后,有用户在浏览器访?,就可以做出对应的响应 # 127.0.0.1 本机地址 srv = await loop.create_server(app.make_handler(), '127.0.0.1', 9000) logging.info('server started at http://127.0.0.1:9000...') return srv# 固定写法loop = asyncio.get_event_loop()loop.run_until_complete(init(loop))loop.run_forever()=============================coreweb.pydef add_routes(app, module_name): app.router.add_route(method, path, RequestHandler(app, fn))=============================回调数据coreweb.pyclass RequestHandler(object): async def __call__(self, request):=============================app.pyasync def response_factory(app, handler): async def response(request): logging.info('Response handler...request %s' % request) r = await handler(request)
=============================# app.pyasync def init(loop): await orm.create_pool(loop=loop, host='127.0.0.1', port=3306, user='root', password='', db='sufadi')=============================# handlers.py@get('/')async def index(request): logging.info('handlers.py handlers index: %s' % request) users = await User.findAll() return { "__template__": "home.html", 'users': users }=============================orm.py @classmethod async def findAll(cls, where=None, args=None, **kw): ' find objects by where clause. ' sql = [cls.__select__] if where:
确保 mysql 运行且有数据,在浏览器输入
INFO:root:found model: User (table: users)INFO:root:Found mapping: id -->INFO:root:Found mapping: email --> INFO:root:Found mapping: passwd --> INFO:root:Found mapping: admin --> INFO:root:Found mapping: name --> INFO:root:Found mapping: image --> INFO:root:Found mapping: created_at --> INFO:root:found model: Blog (table: blogs)INFO:root:Found mapping: id --> INFO:root:Found mapping: user_id --> INFO:root:Found mapping: user_name --> INFO:root:Found mapping: user_image --> INFO:root:Found mapping: name --> INFO:root:Found mapping: summary --> INFO:root:Found mapping: content --> INFO:root:Found mapping: created_at --> INFO:root:found model: Comment (table: comments)INFO:root:Found mapping: id --> INFO:root:Found mapping: blog_id --> INFO:root:Found mapping: user_id --> INFO:root:Found mapping: user_name --> INFO:root:Found mapping: user_image --> INFO:root:Found mapping: content --> INFO:root:Found mapping: created_at --> INFO:root:建立数据库连接池INFO:root:init jinja2...INFO:root:set jinja2 template path: D:\python3-webapp-Su\www\templatesINFO:root:add_routes mod = INFO:root:add_routes method = GET, path = /INFO:root:add_routes app = , fn = INFO:root:add route GET / => index(request)INFO:root:get_named_kw_args : name = request, param = request, kind = POSITIONAL_OR_KEYWORDINFO:root:RequestHandler : _app = INFO:root:RequestHandler : _func = INFO:root:RequestHandler : _has_request_arg = TrueINFO:root:RequestHandler : _has_var_kw_arg = NoneINFO:root:RequestHandler : _has_named_kw_args = NoneINFO:root:add static /static/ => D:\python3-webapp-Su\www\staticINFO:root:server started at http://127.0.0.1:9000...INFO:root:Request: GET /INFO:root:Response handler...request INFO:root:call with args: { 'request': }INFO:root:handlers.py handlers index: INFO:root:SQL: select `id`, `email`, `passwd`, `admin`, `name`, `image`, `created_at` from `users`INFO:root:rows returned: 2INFO:root:Response handler...__template__ { '__template__': 'home.html', 'users': [{ 'id': 1, 'email': 'test@163', 'passwd': '1221', 'admin': None, 'name': 'su001', 'image': None, 'created_at': None}, { 'id': 2, 'email': 'test@qq', 'passwd': '234234', 'admin': None, 'name': 'sufadi', 'image': None, 'created_at': None}]}INFO:root:isinstance dict templating espINFO:aiohttp.access:127.0.0.1 - - [07/Jan/2018:11:18:03 +0000] "GET / HTTP/1.1" 200 382 "-" "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"
转载地址:http://qacti.baihongyu.com/