web.py 是一个轻量级Python web框架。
下面我将使用web.py框架,创建一个简单的html页面示例。
1.项目的目录结构如下所示:
exweb2
uniqueenv
app.py
templates
base.html
hello_form.html
index.html
2.创建网站根目录exweb2
mkdir exweb2
3.在网站根目录下创建一个虚拟环境
cd exweb2
virtualenv uniqueenv
4.安装flask
uniqueenv/bin/pip install lpthw.web
5.web.py使用,app.py代码如下
#-*- coding: UTF-8 -*- import web urls =( '/','Index' ) app = web.application(urls,globals()) #base为基础模板页 render = web.template.render('templates/',base="base") class Index(object): #get方式提交,若url参数不为空,直接跳转到显示界面,否则跳转到输入信息界面 def GET(self): form = web.input(name="",greet="") if form.greet!="" and form.name!="": greeting="%s,%s"%(form.greet,form.name) return render.index(greeting=greeting) return render.hello_form() #post方式提交表单, def POST(self): form = web.input(name="Nobody",greet="Hello") greeting="%s,%s"%(form.greet,form.name) return render.index(greeting=greeting) if __name__ == "__main__": app.run()
6.接着创建模板页,模板放在templates文件夹下.
mkdir templates
首先创建一个基础模板页 base.html
$def with (content) <html> <head> <title> </title> </head> <body> $:content </body> </html>
输入信息页 hello_form.html
<h1>Fill out this form</h1> <form action="/" method="POST"> A Greeting:<input type="text" name="greet"> <br/> Your Name:<input type="text" name="name"> <br/> <input type="submit"> </form>
显示信息页 index.html
$def with (greeting) $if greeting: I just wanted to say <em style="color: green; font-size: 2em;">$greeting</em>. $else: <em>Hello</em>, world!
7.运行:uniqueenv/bin/python app.py
注意运行的时候要使用虚拟目录中的python解释器
8.结果:
(1)Get方式
(2)Post方式