Python 网站开发(7) -- 构建MVC

编写MVC

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。现在我们的ORM框架、Web框架和配置都已就绪,编写一个简单的MVC,就可以把它们全部启动起来。

通过Web框架的@get和ORM框架的Model支持,可以很容易地编写一个处理首页URL的函数(新建handlers.py进行编写):

from models import User
from coroweb import get
import asyncio

@get('/')
async def index(request):
    users = await User.findAll()
    return {
        '__template__': 'test.html',
        'users': users
    }

'__template__'指定的模板文件是test.html,其他参数是传递给模板的数据,所以我们在模板的根目录templates下创建test.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Test users - Awesome Python Webapp</title>
</head>
<body>
    <h1>All users</h1>
    {% for u in users %}
    <p>{{ u.name }} / {{ u.email }}</p>
    {% endfor %}
</body>
</html>

接下来,如果一切顺利,可以用命令行启动Web服务器:

$ python3 app.py

然后,在浏览器中访问http://localhost:9000/

如果数据库的users表什么内容也没有,你就无法在浏览器中看到循环输出的内容。可以自己在MySQL的命令行里给users表添加几条记录,或者使用ORM那一章节里使用过的test.py添加users,然后再访问。

[上一章:Python 网站开发(6) -- 编写配置文件]
[下一章:Python 网站开发(8) -- 搭建API]


Powered by Aodabo Copyright © 2024.

Zhiyuan Yang. All rights reserved. Privacy | Terms