网站搭建笔记精简版---廖雪峰WebApp实战-Day7:编写MVC笔记

网站搭建笔记精简版-廖雪峰教程学习@[三川水祭]
仅作学习交流使用,将来的你会感谢现在拼命努力的自己!!!

在前几天的课程中,已经编写完了ORM数据库处理封装框架、web框架和配置文件。接下来将处理MVC,进行代码的启动。即对上一节中编写的handlers.py文件进行重新编写,即当遇到不同类型的请求时候函数应该具体如何处理。

handlers.py的代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

__author__ = 'Michael Liao'

' url handlers '

import re, time, json, logging, hashlib, base64, asyncio
from coroweb import get, post
from models import User, Comment, Blog, next_id

# 装饰器,即当遇到链接语言为'/'的GET语句时候,进行调用index函数。
@get('/')
async def index(request):
    # orm文件中封装的findAll函数,models.py文件中User集成自Model
    users = await User.findAll()
    return {
    	# __template__指定的模板文件是'test.html',users为html文件的参数
        '__template__': 'test.html',
        'users': users
}

test.html代码

handlers中调用test.html网页作为模板,使用后面的users参数动态生成新的网页。test.html存放在根目录下的templates文件夹中,根据app.py中init_jinja2()函数定义的动态网页模板目录。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Test users - Awesome Python Webapp</title>
</head>
<body>
    <h1>All users</h1>
    # 通过handlers.py中的users参数动态输出user.name与user.email
    {% for u in users %}
    <p>{{ u.name }} / {{ u.email }}</p>
    {% endfor %}
</body>
</html>

网页测试

数据库awesome中user表填充

# 进入数据库
mysql -u 'root' -p
# 查看所有数据库
show databases;
# 进入awesome数据库,本博客Day5笔记最下面详述进行了该数据库创建
use awesome;
# 查看awesome数据库中具有哪些表格
show tables;
# 查看users表中具体的数据
select * from users;
# 如果没有,自行插入内容
# 首先查看索引是什么
show colunms from users;
# 根据属性插入内容,注意上一行命令出现的各个属性的类型
insert into users (id, email, passwd, admin, name, image) values (‘111’,'[email protected]',1,'root','zht','222');
# 查看插入的内容
select * from users;
# 之后重复插入几个user对象即可

启动webapp框架

在命令行输入:python app.py,之后在浏览器输入localhost:9000即可。

参考博客
廖雪峰的官方网站

猜你喜欢

转载自blog.csdn.net/suyiwei5993/article/details/83548401