当前位置: 移动技术网 > IT编程>脚本编程>Python > 为Python的web框架编写MVC配置来使其运行的教程

为Python的web框架编写MVC配置来使其运行的教程

2019年06月14日  | 移动技术网IT编程  | 我要评论

工人拆化粪池突发险情!地底钻出怪物,美尔网,魔域小游戏1.04

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

通过web框架的@decorator和orm框架的model支持,可以很容易地编写一个处理首页url的函数:

# urls.py
from transwarp.web import get, view
from models import user, blog, comment

@view('test_users.html')
@get('/')
def test_users():
  users = user.find_all()
  return dict(users=users)

@view指定的模板文件是test_users.html,所以我们在模板的根目录templates下创建test_users.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 app的启动文件wsgiapp.py,负责初始化数据库、初始化web框架,然后加载urls.py,最后启动web服务:

# wsgiapp.py
import logging; logging.basicconfig(level=logging.info)
import os

from transwarp import db
from transwarp.web import wsgiapplication, jinja2templateengine

from config import configs

# 初始化数据库:
db.create_engine(**configs.db)

# 创建一个wsgiapplication:
wsgi = wsgiapplication(os.path.dirname(os.path.abspath(__file__)))
# 初始化jinja2模板引擎:
template_engine = jinja2templateengine(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'templates'))
wsgi.template_engine = template_engine

# 加载带有@get/@post的url处理函数:
import urls
wsgi.add_module(urls)

# 在9000端口上启动本地测试服务器:
if __name__ == '__main__':
  wsgi.run(9000)

如果一切顺利,可以用命令行启动web服务器:

$ python wsgiapp.py

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

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

201543094726497.jpg (401×274)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网