Web py 官方教程实现

Python web框架web.py快速原型开发及实例 可以使用第三方库,如Flask-Login,来简化用户认证操作。在Flask-Login中,你需要创建一个User模型,用于存储用户信息,然后使用该库提供的函数和中间件来管理用户登录、注销和认证。最后,在模板文件夹下创建login.html文件,这是一个登录页面的模板,可以使用HTML和Flask模板语言(Jinja2)编写。中,需要显示一个表单,用于输入评论的作者和内容,并在提交表单时更新评论的内容。现在,您应该能够在浏览器中访问您的应用程序,并看到一个简单的博客网站,包括文章列表、文章详情和评论功能。 阅读详情

这是跟着 官方教程 自己实现了一遍的代码。排除了一些错误。

运行环境:

  • web.py 的版本为 0.61
  • python 的版本为 3.12.4
  • 通过 pip install web.py==0.61 进行的安装。

python 源代码

命名为 code.py,不要命名为 web.py,不然第一句会把自己引入,而非引入正确的 web 包,导致报错 AttributeError: 'module' object has no attribute 'application'。

# 运行服务 python code.py 12020
import web

# 添加模板查询目录
render = web.template.render('templates/')

# 创建数据库对象
db = web.database(dbn='mysql', user='root', pw='123456', db='temp_test')

# 定义URL路由规则
urls = (
    '/', 'index',  # 这里的'index'是请求处理器类的名称
    '/tmp', 'template', # 从指定路径中指定路由到模板处理器,通过url传参
    '/tmp-rest/(.*)', 'templateRest', # 匹配 /tmp-rest/ 路径中指定路由到模板处理器,RESTFUL 风格传参
    '/db-get', 'dbGet', # 从数据库获取数据
    '/db-post', 'dbPost', # 向数据库添加数据页面
    '/db-add', 'dbAdd' # 向数据库添加数据请求 由 dbPost.html 页面发出请求 db-add
)

# 创建请求处理器类-纯文本  http://localhost:12020/
class index(object):
    def GET(self):
        return 'Hello World!'

# 创建请求处理器类-模板  http://localhost:12020/tmp?name=123
class template(object):
    def GET(self):
        i = web.input(name=None)  # 从输入中获取变量
        return render.template(i.name)  # 这里的template是模板文件名称

# 创建请求处理器类-模板RESTFULL风格  http://localhost:12020/tmp-rest/123
class templateRest:
    def GET(self,name):
        return render.template(name)  # 这里的template是模板文件名称

# 创建请求处理器-数据库获取  http://localhost:12020/db-get 注意官方模板的 id配置有问题,变量不能放在引号里
class dbGet:
    def GET(self):
        todos = db.select('todo')
        return render.dbGet(todos)
        
# 创建请求处理器-向数据库新增的页面  http://localhost:12020/db-post
class dbPost:
    def GET(self):
        return render.dbPost()

# 创建请求处理器-向数据库新增的操作  由 dbPost 页面发出请求
class dbAdd:
    def POST(self):
        i = web.input()
        n = db.insert('todo', title=i.title)  # 插入数据,返回行号
        raise web.seeother('/')  # seeother 表示页面重定向

# 创建web.application对象
if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()  # 启动服务器

页面模板文件

在 code.py 文件同级目录下新建 templates 文件夹,其中添加如下 html 模板页面。

template.html

$def with (name)

$if name:
    I just wanted to say <em>hello</em> to $name.
$else:
    <em>Hello</em>, world!

dbGet.html

$def with (todos)

<ul>
$for todo in todos:
    <li id=$todo.id>$todo.title</li>
</ul>

dbPost.html

<form method="post" action="db-add">
<p><input type="text" name="title" /> <input type="submit" value="Add" /></p>
</form>

注意:修改文件后保存是能实时刷新的,但有时候不知道是浏览器缓存还是什么情况,报错后需要使用新浏览器打开或重启服务才能正确显示页面。有时候改之前是好的,改完了发现报错了,再改回去还是报错,重启服务也报错,在新浏览器打开又可以了。

Python-web.py开发入门 慕课网上《Python-web.py开发入门》课程个人总结笔记,侵删。 慕课网视频链接:https://www.imooc.com/learn/753 一、web.py介绍 1.1 课程概要 学习内容:介绍、基础知识、开发。 1.2 web.py介绍 一个非常轻量级的Python web框架,简单而且功能强大。 1.3 web.py安装 web.py官网:http://webpy.org(含安装教... 阅读详情

相关推荐

PythonWeb开发项目完整案例(详细教程)

PythonWeb开发是使用Python语言进行Web应用程序开发的过程。Python是一种简洁、易读且功能强大的编程语言,因此在Web开发领域广受欢迎。

wangluoanquan152的博客 8415

趣学python编程(七、实现个小网站如此简单 web.py使用介绍)

这里先拿一个小网站的例子来举例,保持好奇心就可以了。因为兴趣才是最好的老师,它能激发人内在的行动力。这里介绍个使用web.py轻量级框架实现的一个小网站,可以看到实现个小网站并不难。python都能用来干什么?那么网站就是它众多功能中的其中之一。

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 3689

windows10安装web.py

1、环境    wndows10 企业版  1803  X642、准备     A、python3 : https://www.python.org/downloads/windows/     B、web.py: https://github.com/webpy/webpy3、步骤    A、安装下载的python3    B、为了在命令行任何路径下都能使用python,添加系统环境变量 : 我...

知其所以然 2621

简单而直接的Python web 框架:web.py

web.py 是一个Python 的web 框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。而且相当的小巧,应当归属于轻量级的web 框架。但这并不影响web.py 的强大,而且使用起来很简单、很直接。在实际应用上,web.py 更多的是学术上的价值,因为你可以看到更多web 应用的底层,这在当今“抽象得很好”的web 框架上是学不到的 :) 如果想了解更多web.py,可以访问web.py 的官方文档。

freeking101的博客 7万+

web.py中文教程_脚本之家.docx

Web.py Cookbook 简体中文版手册 欢迎来到web.py 0.3的Cookbook。提醒您注意:某些特性在之前的版本中并不可用。当前开发版本是0.3。 web.py 是一个轻量级Python web框架,它简单而且功能强大。web.py是一个开源项目。该框架由美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发。web.py目前已被很多家大型网站所使用。 web.py简单易学,只要有Python基础,掌握web.py就非常容易。

FICO F.27 Customer statement 打印

需求,定制化打印,替换标准的F.27打印 类似于采购订单的打印,但是略有不同,查阅资料之后步骤如下: T-code F.27 is SAP standard program to produce customer/vendor correspondence (letter). Correspondence Type is used to specify the related printing program and form for the particular correspondence. SAP

IamRunjiang的博客 1964

出大量kimi k3 官方key

出大量k3,tpm亿级别支撑,有需要的可以沟通喔,原厂key需要大额预付款。

2601_95864416的博客 220

光学遥感显著目标检测初探笔记总结

一张图片里最吸引注意力的部分就是显著性物体,其实是模拟人的一个注意力机制。目标是希望通过计算机的方法让我们自动定位和模拟人的这种感知能力,从而去定位场景中的一个让人感兴趣的目标。

醋酸洋红的博客 2075

Web2py社区资源大全:官方文档、教程与第三方工具推荐

Web2py是一个免费开源的全栈企业级框架,专为敏捷开发安全的数据库驱动型Web应用而设计,使用Python编写并可编程。本文将为你全面梳理Web2py的官方文档、实用教程以及精选第三方工具,助你快速掌握这个强大框架的开发技巧。 ## 📚 官方文档全解析 Web2py提供了详尽的官方文档,涵盖从基础到高级的所有功能模块,是学习和使用Web2py的首要资源。 ### 核心文档目录 官方文档

gitblog_00655的博客 821

5分钟搞定!用FunASR在本地快速部署达摩院Paraformer语音识别模型

本文提供了一份快速部署指南,教你如何在5分钟内利用FunASR工具包在本地电脑上启动达摩院Paraformer语音识别模型。Paraformer作为一款非自回归端到端模型,以其推理速度快、识别精度高的特点,结合FunASR的一键式模型加载和统一API,让开发者能轻松构建本地语音识别系统,极大降低了前沿AI技术的应用门槛。

q9w8e7r6t5的博客 604

流媒体协议-RTMP简介

与rtsp 不同,RTSP(Real-Time Streaming Protocol)是一个控制协议,负责控制媒体流的传输,但不传输媒体数据本身。RTSP 可以通过 TCP 或 UDP 传输 RTP 包来传输音视频数据。 RTMP(Real-Time Messaging Protocol)是一个综合性的协议,不仅可以传输音视频数据,还可以传输信令控制指令。RTMP 使用 TCP 作为传输协议,可以直接在 TCP 连接上传输音视频数据,也可以传输控制指令,实现了音视频流的实时传输和控制

xiaoshuaijinniu的博客 4550

终极Python Web开发指南:web.py框架完整教程

web.py是一个既简单又强大的Python Web框架,让开发者能够快速构建高效的Web应用。本教程将带你从安装到实战,全面掌握这个轻量级框架的核心功能与使用技巧。 ## 🚀 快速安装web.py框架 要开始使用web.py,只需通过pip命令即可完成安装: ```bash python3 -m pip install web.py ``` 这条命令会自动从PyPI获取最新版本的web.p

gitblog_00012的博客 540

从零到一:Zephyr RTOS 在 STM32F4 上的移植与实战(含设备树配置详解)

本文详细介绍了如何从零开始将Zephyr RTOS移植到STM32F4开发板,涵盖开发环境搭建、硬件抽象层分析、设备树配置及系统裁剪等关键步骤。通过实战案例,帮助开发者掌握Zephyr RTOS在嵌入式设备中的应用,提升物联网边缘计算设备的开发效率。

weixin_26976635的博客 589

【小沐学Python】Python实现Web服务器(web2py)

免费开源全栈框架,快速开发,可扩展,安全和可移植数据库驱动的基于 Web 的应用程序。编写和编程 Python (版本 3 和 2.7)。web2py是一种免费的、开源的web开发框架,用于敏捷地开发安全的、数据库驱动的web应用;web2py采用Python语言编写,并且可以使用Python编程。web2py是一个完整的堆栈框架,也就是说它包含了开发完整功能的web应用所需的所有组件。web2py支持CPython(C语言实现)或Jython(Java语言实现)。通过编程生成HTML代码。

爱看书的小沐 3551

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入,结合Developer实现

weixin_42412049的博客 1809

WPS文档中心和文档中台 operate 未授权访问漏洞(CVE-2025-0717)

WPS文档中心和文档中台的/open/v6/api/etcd/operate?key=/config/storage&method=get接口存在未授权访问漏洞,攻击者可通过该漏洞获取AK/SK密钥等信息,这些密钥通常用于系统内部认证和权限控制,泄露后可能导致攻击者进一步修改K8s配置、部署恶意容器或执行远程命令,最终实现对系统的完全控制。

李同學AI安全 903

python利用web3.py开发以太坊应用dapp的实战教程

以太坊作为最流行区块链平台,最大的特点是运行各种智能合约。我们已经出过node.js、java、php的以太坊开发实战教程,这一次是python。Python官方提供了一系列的Python包用于支持在Python应用中访问以太坊,其中最流行的就是web3.py —— 对JSON RPC接口的Python封装包。在本课程中,我们将主要使用web3.py,同时结合一些其他的包,来开发支持以太坊的Pyt...

rejames的博客 1786

【DRAM存储器六十二】DDR5介绍--引脚和基本功能简介

详述DDR5与DDR4的引脚区别和DDR5基本功能

highman110的博客 523

web.py的使用

web.py是一个非常轻量级的python web framework。 使用非常简单。 1. 安装web.py:http://webpy.org/install.zh-cn 2. 最简单的hello world example: 创建一个"code.py" file,代码是 import web urls = ( '/', 'index' ) class index:

Tomson Xu 3433

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

web.py——简单而且功能强大的Python web 框架(1):安装并测试

web.py是一个轻量级的python web框架,简单而且功能强大。相对flask和Django,web.py更适合初学者来学习和了解web开发的基础知识。

薛定谔的猫-前端领域 2220

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

web2py

一 web2py web2py是免费的开源的web框架,被用来快速地开发基于安全的数据库驱动的web应用。我们通过python来使用web2py框架,同时web2py本身也是使用python开发的。web2py是一个full-stack框架,这意味着她包含了你构建功能丰富的web应用的所有组件。 主页 : http://web2py.com/ 官方的参考书: http://web2py.co

icodec的专栏 1796

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

web2py基础教程(2)

Pycharm建立web2py项目并简单连接MySQL数据库 引言 web2py是一种免费的,开源的web开发框架,用于敏捷地开发安全的,数据库驱动的web应用;web2p采用Python语言编写,并且可以使用Python编程。web2py是一个完整的堆栈框架,也就是说她包含了开发完整功能的web应用所需的所有组件。 web2py被设计来指导web开发人员遵循良好的软件工程实践,如使用模型(Model),视图(View),控制器(Controller)MVC模式。web2py将数据表达(the .

qq_41240287的博客 966

pythonweb实战教程_python利用web3.py开发以太坊应用dapp的实战教程

以太坊作为最流行区块链平台,最大的特点是运行各种智能合约。我们已经出过node.js、java、php的以太坊开发实战教程,这一次是python。Python官方提供了一系列的Python包用于支持在Python应用中访问以太坊,其中最流行的就是web3.py —— 对JSON RPC接口的Python封装包。在本课程中,我们将主要使用web3.py,同时结合一些其他的包,来开发支持以太坊的Pyt...

weixin_39712969的博客 393

python如何运行py程序_如何用Python汇款:Web3.py教程

Python开发人员对于以太坊和区块链库的技术练习。警告:下面的教程包含这些元素:显式加密、点对点金融服务以及可能的违规行为。这些例子仅仅是为了说明Python区块链的强大功能和便捷性。嗨,Pythoners,你们好!我真的很喜欢Python社区。像很多人一样,Python是我的第一种编程语言。Python hackathon和它的meet-up非常棒。而且此外,我喜欢Monty ...

weixin_39776298的博客 640

一个强大而简单的 Python Web框架:web.py

From:https://www.oschina.net/question/5189_4306 Web.py github 地址:https://github.com/webpy/webpy ...

LouisLee 的博客 2867

web.py 十分钟创建简易博客

<br /> <br />一、web.py简介<br />web.py是一款轻量级的python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。官方站点:http://webpy.org/<br /><br /><br />二、web.py安装<br />1、下载:http://webpy.org/static/web.py-0.33.tar.gz<br />2、解压并进入web.py-0.33目录,安装:python setup.py install<br /><

TCM-caleng 6万+
上一篇: nssm 使用
下一篇: 一些有用的 linux 命令
一只小小翠
博客等级 码龄9年 154粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值