webpy的Hello World

【基于大模型 + FAISS 的本地知识库与智能 PPT 生成系统:从架构到实现】 本文介绍了一个基于大模型(Ollama+DeepSeek)和FAISS向量数据库的本地知识库与智能PPT生成系统。该系统采用前后端分离架构,包含文档管理、向量检索、PPT生成等核心模块,可实现文档智能解析、语义检索和结构化PPT自动生成。通过MVC设计模式,系统实现了从文档上传、向量存储到内容检索、PPT生成的全流程自动化,有效解决了企业知识管理效率低下的问题。架构设计清晰,功能模块完备,为企业和个人提供了高效的文档处理与二次创作解决方案。 阅读详情

首先感谢webpy作者Aaron H. Swartz (1986 – 2013)

第一次接触Python开发网站是在今年3月底,使用的是Django,当时也是第一次接触网站开发,对Apache也不熟悉(其实是只知道一个名字),当时的各种配置让我感觉到要崩溃了,好歹在windows下配置成功了一次。后来在linux下死活都不行,原来是忘了chown py文件给apache,现在记忆犹新。Django呢,确实很完善,文档也不少,在目前算是python web框架中用的最多的,也是最火的。不过我倒不太喜欢这种各种被包办被绑架的感觉,后来一直都在找python web框架,无奈就那些,也可能是自己了解不多。不过,有个我也忘了是怎么回事的机缘,让我有兴趣了解了下webpy,感觉比较符合我自己的口味。简单,明了。前段时间用PHP开发了一个微信公众平台的小网站,现在再来看Python web开发也更熟悉吧。言归正传,开始webpy的Hello World(好吧,其实是官网上的代码,我再加点修饰)。关于window 64bit下的python web开发环境的搭建请参考Windows 64bit下安装Apache+Python+mod_wsgi+php

webpy安装

官网下载包,通常的python包的安装方式,python setup.py install。安装成功测试,就是打开一个python的console,然后import web,没出错就成功了。

Hello webpy!

这个是在官网为了表明webpy是多么的简洁,贴在首页的的一段代码。那urls就是使用正则表达式来配置url的处理类。新建一个文件code.py,把下面的代码粘贴进去,然后在console里面输入python code.py,然后回车。就开启了一个在8080端口的http服务(当然要是在没有语法错误的情况下)。在浏览器中打开http://localhost:8080/就可以看到Hello webpy!了。
import web
        
urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'webpy'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

上面的代码只是为了说明webpy的简单,官网上提供了一个常用的代码框架。就是如下面的目录树
webapp/
static/
js/
css/
images/
templates/
sql/
db.py
app.py
config.py
view.py
主要分为静态文件、模板文件(*.html)、sql语句、数据库查询函数、网站应用的主文件、配置文件、视图文件。
简单来说,静态文件就是网站中所需要的图片、css和js文件等。模板文件是webpy自用的模板系统,就是将数据填充到模板中生成html文件。sql则是使用的sql文件。db.py主要包含所使用的数据库的查询修改删除等进一步包装的函数。app.py则把url绑定给处理的类,然后生成application对象。view.py主要包含html中局部可以复用的数据填充模板的方法。config.py则是配置数据库用户名密码,缓存,DEBUG开关等等。当然你也可以不用上面的,上面的对一个比较大型的应该是必不可少的。这个代码架构来自 http://webpy.org/skeleton/0.3

在Apache生产环境下的webpy

在Apache的生产环境下使用webpy,主要两个方面的配置和修改。

Apache的配置

在你的httpd.conf中添加下面的一段。下面的一段是我自己的,大家可以根据自己的apache以及web应用的位置修改。demo.py就是上一个部分的应用主文件app.py,而static则是上一个部分的static。静态文件夹配置不是必要的,但是下面的两个理由让你最好配置一下。1、为了性能。apache直接处理静态文件,比转交给webpy处理更加直接。2、为了不修改静态文件的地址。webpy开发环境与apache生产环境的根目录是不一样的,因此不做以下映射的话是要改不少东西的。另外还有apache文件夹的权限之类的,参考 http://webpy.org/cookbook/mod_wsgi-apache。不过我是在windows下,貌似只添加下面的就可以了。
<IfModule wsgi_module>
    WSGIScriptAlias /demo "D:/Program Files/Apache Software Foundation/Apache2.4/htdocs/webpy/demo.py/"
    Alias /static "D:/Program Files/Apache Software Foundation/Apache2.4/htdocs/webpy/static"
    AddType text/html .py
</IfModule>

webpy主应用文件app.py的修改

如果你app.py的代码中有import app.py同文件夹下的.py文件,那么在import它们之前添加以下代码(对于其他import 应用目录下py文件的文件也需要修改)
import os,sys
workingpath = os.path.dirname(__file__)
sys.path.append(workingpath)
这是把app.py所在的文件夹路径添加到python的环境变量中,这样在python就可以找得到。同样这个也是因为apache的根目录和web app的根目录是不一致的。如果只是import python自己的包或者安装的包(比如webpy)的话是不需要的。PS:如果__file__报错的话,请自行google找替代办法(就是使用sys.argv[0])。

app.py中必须有一个application变量,并且让它等于Hello webpy!部分的app.wsgifunc(),不然mod_wsgi模块是会报错的。

下面是我的一个例子的demo.py(前面所说的app.py)

import sys, os, time
import urllib,urllib2,cookielib
import web

workingpath = os.path.dirname(__file__)
sys.path.append(workingpath)

from view import render

urls = (
     '/index', 'index',
     '/login','login',
    )

app=web.application(urls,globals())
class index:
    def GET(self):
        return render.base("myview",render.news(10),"news")

class login:
    def GET(self):
        return render.base("myview",render.login(10),"login")

application = app.wsgifunc()
if __name__=="__main__":
    app.internalerror=web.debugerror
    app.run()


另外,在调试或者在修改代码之后,注意删除*.pyc文件大笑。不然你可能找了半天都不知道是为什么你的修改没有反映到你的网站上。因为是动态的,所以apache并不需要重启。建议建立一个有下面代码的.bat文件在根目录下,每次点击一下就行了。

del *.pyc

完成了上面的就可以开始webpy的DIY之旅了。


频谱分析常见坑:STM32的ADC采样+FFT处理时如何避免这5个错误 本文深入剖析了在STM32平台上进行ADC采样与FFT频谱分析时,工程师最常遇到的五个关键错误与性能陷阱。内容涵盖从采样频率设置、频谱泄露处理、ADC配置优化,到谐波识别校准及系统实时性设计,提供了详尽的避坑指南与实战调优策略,旨在帮助开发者构建稳定、精确的嵌入式频谱分析或波形识别系统。 阅读详情

相关推荐

fbx bip互转 测试OK

fbx bip互转

jacke121的专栏 490

第一章-Python Web框架Flask开发之Hello World

安装Python如果你还没有安装Python3,请去官网下载,安装完成后,就可以尽情使用Python了。安装Flask首先创建一个工程目录,叫falsk_learn,进入该目录。你以前开...

大数据技术派 538

HandwrittenMathFormulaRecognition:基于YOLOv8的手写数学公式识别系统

输入:包含手写数学公式的图像(拍摄的板书、作业纸等)输出:对应的数字文本形式的数学公式(如LaTeX格式或文本表达式)标准的手写数学表达式数据集,包含在线轨迹及图片,广泛用于公式识别研究。包含近10万对公式图片及对应的LaTeX标注,适合训练公式识别模型。MathBrush公开手写数学公式图像数据集,含多种书写风格。手写数字与符号数据集(MNIST及其扩展)用于基础数学符号的训练。

YOLO 258

Python 撸一个 Web 服务器-第2章:Hello World

从一个 Hello World 程序说起要编写 Web 服务器,需要用到一个 Python 内置库 socket。Socket 是一个比较抽象的概念,中文叫套接字,它代表一个网络连接。两...

Python之禅的专栏 637

书生浦语—linux基础知识:完成SSH连接与端口映射并运行helloWorld.py

复制第一条命令,当你运行一个web demo的时候,就可以使用这个命令进行端口映射,举个例子:我们创建一个helloWorld.py文件,在文件中填入以下内容:在运行代码之前,需要先使用。

zsn20210607的博客 700

Python初学,web.py的Hello World

刚接触Python,稍稍看了下web.py,根据网上教程写了Hello World。 先下载web.py,然后解压,放到自己创建的项目目录。 用终端CD到web.py,执行:python setup.py install,在Linux 等系统下,需要root 的权限,可以执行:sudo python setup.py install。 CD到项目目录,执行python index.py,OK

且心的专栏 2348

python web py官网_webpyHello World

第一次接触Python开发网站是在今年3月底,使用的是Django,当时也是第一次接触网站开发,对Apache也不熟悉(其实是只知道一个名字),当时的各种配置让我感觉到要崩溃了,好歹在windows下配置成功了一次。后来在linux下死活都不行,原来是忘了chown py文件给apache,现在记忆犹新。Django呢,确实很完善,文档也不少,在目前算是python web框架中用的最多的,也是最...

weixin_42542420的博客 229

01:使用webpy编写hello world

场景1 import web urls = ("/.*", "Index") # 第一部分是匹配URL的正则表达式,第二部分是接受请求的类名称,这行表示我们要URL/(首页)被一个叫Index的类处理 app = web.application(urls, globals()) # 创建一个列举这些URL的application class Index: # 编写Index类,用来处理请求 def GET(self): return "Hello World!" if _

崔小猿的博客 244

install webpy

[url]http://webpy.org/install.zh-cn[/url] [url]http://webpy.org/install_macosx[/url] 不使用macports,换用Homebrew [url]http://liang.eu/mac/forgot-macports-now-we-have-homebrew[/url] 一令安装Homebrew ...

cm00337533的专栏 141

webpy框架

python网络编程学习笔记(10):webpy框架 转载请注明:@小五义http://www.cnblogs.com/xiaowuyi     django和webpy都是pythonweb开发框架。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很

Together_CZ的博客 4782

wep.py输出hello world

webpypython的一个简单的web开发的框架。可以通过简单的几行代码启动一个web服务(虽然只是输出helloworld)。 准备工作 准备工具如下: 下载pythonpython开发环境】 http://python.org/getit/ 下载setuptools【python的基础包工具】 http://pypi.python.org/pypi/setuptools 下载pip【py...

weixin_33850015的博客 71

Webpy + Nginx with FastCGI

Requirements * Nginx 0.8.* or 0.7.* (with fastcgi and rewrite module). * Webpy 0.32 * Spawn-fcgi 1.6.2 * Flup Older versions may work, but aren't tested. Resources * N...

python mplayer ffmpeg vp6 574

Win7安装Web.py,UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in

突然想看看Webpy, 在网上看到一个篇:在windows下如何快速搭建web.py开发框架

Neal85 1922

python 搭建web_webpy搭建一个简单的网站

首先,我们要从http://www.webpy.org站点下载最新的框架源代码,将下载过来的tar压缩的包解压,你会得到一个webpy文件夹,我们所需要的一切都包含在里面了。其次,安装webpy(这个要注意一下,PythonWeb开发不同于PHP/ASP/JSP等,不要用传统的思维来约束自己),在window终端下运行如下命令:python setup.pyinstall(在我本机如下:E:\w...

weixin_39988930的博客 498

python网络编程web教程_python网络编程学习笔记(10):webpy框架

django和webpy都是pythonweb开发框架。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。webpy小巧,简单,实...

weixin_39872872的博客 265

webpy入门

 工作环境中需要经常生产和测试服务器,机房一直很混乱,因此萌生了开发一个简单方便的服务器管理系统(说的好高大上,其实就是个可以获取服务器信息的小web应用)。之所以选择webpy,正式因为它够简单,尤其是对于我这种python新人来说。它是一款轻量级的python web开发框架,对于个人开发小应用来说很适合。 webpy install 下载:w...

weixin_33913377的博客 169

python开发环境部署以及调试教程

为了开始咱们的python之旅,从环境配置开始吧!

JUST_陈亚敏的学习笔记 2218

c++网络编程框架_python网络编程学习笔记(10):webpy框架

转载请注明:@小五义http://www.cnblogs.com/xiaowuyi django和webpy都是pythonweb开发框架。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速...

weixin_39762001的博客 142

Web前端开发(和webpy后端联调)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 作为前端开发来说,一般需要和后端开发进行联调。而通常后端开发,都是和特定语言绑定在一起的。因此,选择一款简单的后端开发框架,对于前端开发来说是大有裨益的。webpy就是这样一个基于python的开发框架。如果项目本省工作量不大,用webpy实际部署到应用环境中也是可以的。

嵌入式-老费,一个分享专业嵌入式知识的blog 853

python 实现web框架simfish

本文主要记录本人利用python实现web框架simfish的过程。源码github地址:simfish WSGI HTTP Server wsgi模块提供了简单的simple_server, wsgiref.simple_server.make_server(host, port, app, server_class=WSGIServer, handl...

weixin_34280237的博客 110

Python - Web框架(web.py)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33796205的博客 116

牛头刨床课程毕业设计.zip

牛头刨床课程毕业设计.zip

实况PES6球员汉化

实况PES6汉化补丁2013款的实况玩家必备!

上一篇: Windows 64bit下安装Apache+Python+mod_wsgi+php
下一篇: leetcode: Palindrome Number
binary_search
博客等级 码龄14年 6粉丝 38原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值