您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/4/11 5:46:43发布20次查看
现在,orm框架、web框架和配置都已就绪,我们可以开始编写一个最简单的mvc,把它们全部启动起来。
通过web框架的@decorator和orm框架的model支持,可以很容易地编写一个处理首页url的函数:
# urls.pyfrom transwarp.web import get, viewfrom 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:
test users - awesome python webapp all users {% for u in users %} {{ u.name }} / {{ u.email }}
{% endfor %}
接下来,我们创建一个web app的启动文件wsgiapp.py,负责初始化数据库、初始化web框架,然后加载urls.py,最后启动web服务:
# wsgiapp.pyimport logging; logging.basicconfig(level=logging.info)import osfrom transwarp import dbfrom transwarp.web import wsgiapplication, jinja2templateenginefrom 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 urlswsgi.add_module(urls)# 在9000端口上启动本地测试服务器:if __name__ == '__main__': wsgi.run(9000)
如果一切顺利,可以用命令行启动web服务器:
$ python wsgiapp.py
然后,在浏览器中访问http://localhost:9000/。
如果数据库的users表什么内容也没有,你就无法在浏览器中看到循环输出的内容。可以自己在mysql的命令行里给users表添加几条记录,然后再访问:
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product