Web2py

1.简介

Web2py是一个开源的全栈web应用框架,使用Python编写。它提供了一套完整的工具和功能,使开发者能够快速构建、部署和管理Web应用。

本文介绍 Web2py 该如何连接使用瀚高数据库。

2.Web2py的应用架构

  • Models(模型): 数据库交互和业务逻辑定义在模型中。Web2py使用Python脚本作为模型文件,负责定义数据表结构、验证规则等。
  • Views(视图): 视图是用户界面的呈现部分,使用HTML和Web2py的模板语言创建。
  • Controllers(控制器): 控制器是处理用户请求的逻辑层。Web2py的控制器是用Python编写的,负责接收用户输入,调用相应的模型和视图,并将结果返回给用户。

3.加载 psycopg2

具体操作步骤请参考 Psycopg2 接口说明文档。

4.创建一个简单的 Web2py 应用

4.1模型

web2py/applications/<your_app>/models目录下创建一个新的Python文件,例如db.py,定义一个简单的数据表

# models/db.py

db = DAL('postgres://web2py:Qwer1234@192.168.100.101:5866/web2py')

db.define_table('task',
Field('title', requires=IS_NOT_EMPTY()),
Field('description', 'text'),
Field('completed', 'boolean', default=False))

4.2.控制器

web2py/applications/<your_app>/controllers目录下创建一个新的Python文件,例如default.py,编写控制器代码

# controllers/default.py

def index():
tasks = db().select(db.task.ALL)
return dict(tasks=tasks)

4.3.视图

web2py/applications/<your_app>/views目录下创建一个新的HTML文件,例如index.html,使用Web2py的模板语言呈现数据

<!-- views/default/index.html -->

{{extend 'layout.html'}}

<h2>Task List</h2>

<table>
<tr>
<th>Title</th>
<th>Description</th>
<th>Completed</th>
</tr>
{{for task in tasks:}}
<tr>
<td>{{=task.title}}</td>
<td>{{=task.description}}</td>
<td>{{='Yes' if task.completed else 'No'}}</td>
</tr>
{{pass}}
</table>

5.启动Web应用

重新启动Web2py应用,访问http://127.0.0.1:8000/<your_app>/default/index,你将看到一个简单的任务列表页面。