web.py框架入门

2023-05-16

web.py是python web开发的一个轻量级框架。

web.py可以通过pip命令安装,pip install web.py

编写官网示例代码:

$ vi index.py

import web
urls = (
        "/" , 'hello',
)
class hello:
        def GET(self):
                return "Hello,World!"
app = web.application(urls,globals())
if __name__=="__main__":
        app.run()
运行:

$ python index.py

浏览器查看结果 http://localhost:8080


	
  

以上是一个最简单的官网示例。通过直接返回文字字符串,得到请求结果,我们可以利用web.py提供的模板工具,指定html页面来达到使用模板的效果。

在第一行代码之后增加如下语句:

render = web.template.render('template/')

这句代码指定模板目录在template文件夹中,这样,我们还需要在项目中建立template目录,用来存放html页面。

修改index的GET方法,使用render.index(name='feiy')来代替返回的内容,还带着name参数到页面,这样页面就可以显示$name。

class index:
        def GET(self):
              return render.index(name='feiy');
编辑页面template/index.html内容如下:

$def with(name)

$if name:
        I just wanted to say <em>hello</em> to $name.

$else:
        <em>Hello</em>,world!
启动web,通过浏览器访问http://localhost:8080/



  

连接数据库,这里选择postgres数据库

准备数据库和表


	
  

在第二行代码之后增加连接数据库的语句,如下:

db = web.database(dbn='postgres',user='postgres',pw='',db='mydb')

想要在代码中连接postgres,需要安装postgres数据库驱动库,可以使用pip install pgdb,如果没有安装则会报错:ImportError: Unable to import psycopg2 or psycopg or pgdb
为了测试数据库连接,我们设定,获取数据库中的xx_user表中的数据,并显示在用户列表页面中。

1、修改路由配置

urls = (
    "/" , "index",
   "/list" , "userlist",
)

2、增加路由映射

class userlist:
          def GET(self):
                 userlist = db.select("xx_user")
                return render.userlist(userlist)

3、编写页面

vi template/userlist.html

$def with(userlist)
<ul>
         $for user in userlist
              <li>$user.id|$user.name|$user.mobile</li>
</ul>

最后贴出index.py全部代码

import web
render = web.template.render('template/')
db = web.database(dbn='postgres',user='postgres',pw='',db='mydb')
urls = (
        "/" , 'index',
        "/list" , 'userlist',
)
class index:
        def GET(self):
            return render.index(name='feiy')

class userlist:
        def GET(self):
            userlist = db.select('xx_user')
            return render.userlist(userlist)
app = web.application(urls,globals())
if __name__=="__main__":
        app.run()

4、运行python index.py

5、浏览器查看 http://localhost:8080/list


	
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web.py框架入门 的相关文章

  • 使用节点http代理转发http代理

    我正在使用 node http proxy 库来创建转发代理服务器 我最终计划使用一些中间件来动态修改 html 代码 这就是我的代理服务器代码的样子 var httpProxy require http proxy httpProxy c
  • 如何在odoo中重写js函数

    我想加载 shop checkout url 函数是 odoo define change info order website sale change info order function require use strict oe w
  • System.Web.HttpException 无法加载类型“[命名空间].???”

    这开始于无法加载类型 全局 错误 在我尝试了一些方法后 没有找到删除 Global asax 文件的位置 现在错误是无法加载类型 namespace 在哪里 是我尝试加载的每个页面的类名 该网站 在 VS2008 本地开发计算机中执行时 工
  • VSTS 构建失败/发布无法在 bin 文件夹中找到 roslyn\csc.exe

    我们有一个网站项目 安装了以下 nuget 软件包 Microsoft CodeDom Providers DotNetCompilerPlatform 1 0 8 Microsoft Net Compilers 2 4 0 The web
  • Java selenium - 如何在 TimeoutException 之后正确刷新网页?

    ChromeOptions options new ChromeOptions options addExtensions new File extension 6 2 5 0 crx ZenMate options addExtensio
  • Netty Nio java 中的通信

    我想在 Netty nio 中创建一个具有两个客户端和一个服务器的通信系统 更具体地说 首先 我希望当两个客户端与服务器连接时从服务器发送消息 然后能够在两个客户端之间交换数据 我正在使用本示例提供的代码 https github com
  • 部署 .war 时出现 Glassfish 服务器错误:部署期间发生错误:准备应用程序时出现异常:资源无效

    我正在使用以下内容 NetBeans IDE 7 3 内部版本 201306052037 爪哇 1 7 0 17 Java HotSpot TM 64 位服务器虚拟机 23 7 b01 NetBeans 集成 GlassFish Serve
  • 给定数十亿个 URL,如何确定重复内容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在一次编程面试中被问到这个问题 我在下面详细描述了这个问题 这是一个开放式问题 给定数十亿个 URL 深层链接 我如何对哪些 URL
  • CSS3 与 JavaScript

    所以我试图在网页上创建一个动画 并试图找到一种使用 CSS3 来实现它的方法 但我对如何做到这一点感到非常困惑 我需要发生的是 当用户单击链接元素时 我希望 div 展开并填充特定于所单击的链接元素的内容 例如 当用户单击标题为 About
  • wix 安装程序/创建网站并分配新的或现有的 Web 应用程序池

    我尝试使用 wix 安装创建一个新网站 没关系 没有问题 但我无法将新的或现有的网络应用程序池分配给新网站 iis website 标记不包含 WebAppPool 属性 我如何将网络应用程序池分配给网站 你可以在下面看到我的代码 感谢您的
  • 如何用 C 语言通过 HTTP 协议发送图像?

    我是一名正在做网络服务器练习的学生 我需要一些帮助 我的网络服务器在文本页面上运行良好 但是每当浏览器发送一个 GET img jpg HTTP 1 1请求 我不知道如何处理 我听说 HTTP 协议是基于文本的 那么如何在 HTTP 响应中
  • 如何从Web JavaScript应用程序获取桌面C#程序中的变量

    我遇到一个问题 有两个应用程序 一种是 C 中的桌面应用程序 另一种是 javascript 中的 Web 应用程序 运行桌面应用程序中的一些变量或信息需要传输到Web应用程序 有谁知道如何解决这个问题 有人愿意提供更多细节来解决这个问题吗
  • 删除 cookie php

    我正在尝试创建一个带有登录系统的平台 并将用户名和密码存储在cookie中 以使用户即使关闭浏览器然后再次输入也能保持登录状态 我设法保存了cookie 但我不知道如何制作注销按钮 这是代码 function logout body app
  • Bootstrap - 为反向行模式创建移动自适应

    我想用 Bootstrap 创建一个反向效果 第一行 左边是文字 右边是图像 第二行 左边是图片 右边是文字 第三行 左边是文字 右边是图片 第四行 左边是图片 右边是文字 而且这种情况一直持续下去 它在大型设备上看起来非常漂亮 但当它在设
  • 允许匿名用户浏览样式和图像文件夹

    我正在编写一个 ASP NET Web 应用程序 我有一个登录屏幕 上面有一些 CSS 样式和图像 我遇到了样式和图像未显示的问题 我在网上阅读 它说我需要在 Content 文件夹中放置一个 web config 我将以下内容添加到 we
  • 如何从网页中提取文本内容? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在用java开发一个应用程序 它
  • 向下滚动时如何使图像移动?

    这是我想要实现的目标的示例 https www flambette com en https www flambette com en 我尝试过更改图像的 css 属性 但效果不能满足我的需求 我尝试过以下代码 mydocument on
  • 我应该使用哪个命令来缩小和优化 Nodejs Express 应用程序?

    我已经准备好 Express generator sccafold 网站并需要发布它 我应该使用哪个命令来缩小文件并优化发布 另外 我应该上传哪些目录 express generator是一个基于express框架的服务端渲染框架 而不是像
  • 直接从 Javascript 代码访问 SVG 文件

    我有这个 HTML 代码 它调用我的 javascript 代码 该代码用于仪表 在 javascript 代码中 我尝试访问 SVG 文件 并修改 仪表的 指针以显示所需的值 该代码运行良好 但是 我不想在 HTML 中调用 对象 id
  • 如何在Delphi中下载一个非常简单的HTTPS页面?

    我尝试了在这里看到的代码 但它不适用于 HTTPS 我需要将此页面作为字符串下载 并在其上添加一些换行符 以便将信息按顺序放入 TMemo 中 怎么做 我尝试使用 Indy 但由于 SSL 问题而失败 我尝试了此页面的解决方案 如何将网页下

随机推荐

  • ubuntu上利用qemu-kvm创建虚拟机

    kvm是Kernel based Virtual Machine的缩写 xff0c 即基于内核的虚拟机技术 xff0c 运行在具备Intel vt或者AMD V功能的x86平台上 在linux2 6 20之后的版本中kvm成为了linux内
  • Fatal error in launcher: Unable to create process using解决办法

    我的机器是windows7 64位机器 xff0c 本来默认安装了pip命令是9 0 1版本的 xff0c 网上有介绍说可以安装1 5 6版本 我考虑将pip更改为1 5 6版本 xff0c 去官网下载一个whl的文件 xff0c 利用pi
  • openstack-install-ubuntu-single说明

    ubuntu1404单机安装部署openstack juno值得注意的地方 xff0c 这里说明一下 先来说说openstack组件 keystone gt 认证组件glance gt 镜像组件 xff0c 负责管理虚拟机镜像nova gt
  • hive自定义函数UDF

    Hive自定义函数 UDF xff0c 可以帮助用户轻松实现在hql语句中展现自定义查询结果 这里以一个简单的连接函数来实现用户自定义函数 xff0c 假设表结构如下 xff1a 表中只有两个简单的字段 xff0c id和name 这里实现
  • Oracle 数据误删的恢复措施

    Oracle中 常见的数据删除操作就三种 xff0c truncate xff0c drop xff0c delete xff0c 下面分类说一下如何恢复 Truncate xff1a 该操作执行后 xff0c 保留表结构 xff0c 清空
  • Hive使用入门

    先介绍一些基本的命令 xff1a 1 进入hive命令行 xff0c 这种方式进入之后 xff0c 操作结果展示时带有执行mapreduce的调试信息 xff1b hive service cli 等同于直接输入hive 2 进入hive命
  • Hive内部表和外部表的区别

    hive作为基于hdfs的数据仓库 xff0c 在构建表的时候 xff0c 会有内部表和外部表 xff0c 这里介绍两者的异同点 相同点 xff1a 1 他们都是用mysql或者derby作为元数据存储 xff0c 他们在元数据的组织上是相
  • hive:For direct MetaStore DB connections, we don't support retries at the client level

    hive创建表和导入数据都没有问题 xff0c 在删除表 xff0c 做drop table 时报如题所示的错误 有的文章说修改元数据库字符集为latin1 但是元数据库字符集默认创建就是latin1 修改字符集无法解决该问题 通过更换my
  • rhel7安装docker

    docker是当下最流行的虚拟化容器技术之一 xff0c 它是基于lxc的一种容器技术 xff0c 该技术已经非常成熟 xff0c 而且在实际应用中已经越来越普遍 很多框架都有对docker的支持 xff0c 包括hadoop spark
  • Openstack使用ubuntu镜像启动虚拟机实例

    一般情况下openstack环境搭建好了之后 xff0c 就是测试启动虚拟机 通常我们会使用一个最基本的镜像cirros 0 3 3 x86 64 disk img来作为镜 像 xff0c 使用glance命令行或者horizon的图形化界
  • docker使用Dockerfile构建镜像

    docker获取镜像 xff0c 除了docker pull docker load之外还可以通过自定义Dockerfile的方式通过命令docker build 来构建新镜像 通过这种方式可以很自由的定义想要安装的镜像 xff0c 想要安
  • django环境搭建

    django是python开发框架 xff0c 是一个丰富的web框架 第一步 xff1a 安装pip wget https bootstrap pypa io get pip py python get pip py 第二步 xff1a
  • docker配置国内仓库镜像registry-mirror

    Docker在默认安装之后 xff0c 当需要下载镜像时 xff0c 通过命令docker pull learn tutoral拉取示例镜像 xff0c 或者其他镜像时 xff0c 都是访问默认的docker hub上的镜像 xff0c 在
  • TypeError: object() takes no parameters

    python面向对象编程第一个坑 TypeError object takes no parameters 出现这个错误 xff0c 一般就是构造函数 init 书写的不对 xff0c 检查一下是否是少了一个下划线或者是少写了一个i字母 x
  • windows上Flask环境搭建

    Flask是python开发框架 用来快速构建web项目 下面介绍如何在windows上搭建flask开发环境并运行一个demo 第一步 创建项目并构建flask环境 mkdir flaskapp cd flaskapp virtualen
  • WebSocket 测试工具

    一 WebSocket 简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单 xff0c 允许服务端主动向客户端推送数据 在WebSocket API中 xff
  • 利用pipework为docker容器设置固定IP

    今天介绍如何在redhat centos7系列机器上使用pipework为docker启动的容器指定一个固定ip 我们知道默认情况下 xff0c docker会使用bridge网络模式为每一个启动的容器动态分配一个IP xff0c 以172
  • 用docker玩坏ubuntu虚拟机容器

    当我们装上docker之后 xff0c 自然会pull一个或多个镜像玩玩 xff0c 这时候 xff0c docker hub仓库上有很多系列操作系统镜像 xff0c 每个系列又有很多不同功能的虚拟机镜像 xff0c 比如centos分6还
  • tornado入门实例

    tornado是python web开发的又一个轻量级框架 tornado框架需要安装 xff0c 为了方便 xff0c 我直接安装了Anaconda 2 4 1 里面直接就带了tornado 还有很多python库 numpy scipy
  • web.py框架入门

    web py是python web开发的一个轻量级框架 web py可以通过pip命令安装 xff0c pip install web py 编写官网示例代码 xff1a vi index py import web urls 61 34