随想录(用python开发网站)
2023-09-27 14:27:11 时间
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
在Linux上,利用python开发网站是一件很简单的事情。目前,支持python进行网站开发的框架有webpy、django、tornado。各位同学可以按照自己的喜好灵活地进行选择。就我个人而言,我比较喜欢webpy这样一个框架。
目前,关于webpy的学习内容都在webpy.org网站上。网站不但有cookbook,还有相关的的demo代码,很是方便。下面给出的demo工程也是来自于webpy的实例代码。它包含了基本的sql创建语句、python代码、html模板等等。
sql语句如下所示,
CREATE TABLE todo (
id INT AUTO_INCREMENT,
title TEXT,
primary key (id)
);
模板的代码如下所示,其中templates/base.html为,
$def with (page)
<html>
<head>
<title>Todo list</title>
</head>
<body>
$:page
</body>
</html>
templates/index.html为,
$def with (todos, form)
<table>
<tr>
<th>What to do ?</th>
<th></th>
</tr>
$for todo in todos:
<tr>
<td>$todo.title</td>
<td>
<form action="/del/$todo.id" method="post">
<input type="submit" value="Delete"/>
</form>
</td>
</tr>
</table>
<form action="" method="post">
$:form.render()
</form>
相关的python代码如下所示。其中数据库操作model.py为,
import web
db = web.database(dbn='mysql', db='test', user='root', pw='123456')
def get_todos():
return db.select('todo', order='id')
def new_todo(text):
db.insert('todo', title=text)
def del_todo(id):
db.delete('todo', where="id=$id", vars=locals())
而相关的网站逻辑代码为todo.py,内容如下,
""" Basic todo list using webpy 0.3 """
import web
import model
### Url mappings
urls = (
'/', 'Index',
'/del/(\d+)', 'Delete'
)
### Templates
render = web.template.render('templates', base='base')
class Index:
form = web.form.Form(
web.form.Textbox('title', web.form.notnull,
description="I need to:"),
web.form.Button('Add todo'),
)
def GET(self):
""" Show page """
todos = model.get_todos()
form = self.form()
return render.index(todos, form)
def POST(self):
""" Add new entry """
form = self.form()
if not form.validates():
todos = model.get_todos()
return render.index(todos, form)
model.new_todo(form.d.title)
raise web.seeother('/')
class Delete:
def POST(self, id):
""" Delete based on ID """
id = int(id)
model.del_todo(id)
raise web.seeother('/')
app = web.application(urls, globals())
if __name__ == '__main__':
app.run()
相关文章
- Python分析了5万条相亲网站数据 | 看相亲男女画像
- python字符串
- Python分布式爬虫框架Scrapy 打造搜索引擎(四) - 爬取博客网站
- python爬虫思路——静态网站
- Python一些好的深层次例子的网站 codingdict.
- Pyspider框架 —— Python爬虫实战之爬取 V2EX 网站帖子
- 精品基于Python实现的电子商务网站管理系统购物商城电商网站
- 测试网站页面网速的一个简单Python脚本
- Python之Numpy:二元函数绘制/三维数据可视化/3D
- python-web 创建一个输入链接生成的网站
- python基础小白题4
- python爬取招聘网站数据
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象documentMode属性
- Python+Qt学习随笔:PyQt中常用的事件处理函数
- 用Python在图片上添加注释信息
- 使用Python Django在Ubuntu下搭建数据库型网站
- Python 获取两个list列表中元素平均值的方法及示例代码
- 20 个非常有用的 Python 单行代码
- 【道高一尺,魔高一丈】Python爬虫之如何应对网站反爬虫策略
- 分享两个python爬虫练习网站
- 【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E305 expected 2 blank lines after class or function definiti )
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- python--openCV--图像处理
- python - random.shuffle有序列表乱序排列