Day 7 - 编写MVC

现在,ORM框架、Web框架和配置都已就绪,我们可以开始编写一个最简单的MVC,把它们全部启动起来。

通过Web框架的@get和ORM框架的Model支持,可以很容易地编写一个处理首页URL的函数:

  1. @get('/')
  2. def index(request):
  3. users = yield from User.findAll()
  4. return {
  5. '__template__': 'test.html',
  6. 'users': users
  7. }

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

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Test users - Awesome Python Webapp</title>
  6. </head>
  7. <body>
  8. <h1>All users</h1>
  9. {% for u in users %}
  10. <p>{{ u.name }} / {{ u.email }}</p>
  11. {% endfor %}
  12. </body>
  13. </html>

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

  1. $ python3 app.py

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

如果数据库的users表什么内容也没有,你就无法在浏览器中看到循环输出的内容。可以自己在MySQL的命令行里给users表添加几条记录,然后再访问:

awesomepy-all-users

参考源码

day-07

原文: https://wizardforcel.gitbooks.io/liaoxuefeng/content/py3/113.html