http://python99.freebsdhost.org/board.py
因为是在网上直接写的,我用的这个免费空间用的是fastcgi模式,一旦我程序写错了都是500错误,写起来非常费劲,程序虽然简陋,也磕磕绊绊花了一天的时间.其中在处理留言者提交的变量,就是post的username和msg变量,我找不到python里可以直接处理的模块.在php里好像直接用$_POST['username']和$_POST['msg']就可以了,python里好像不行,所以我用了正则好歹匹配上了,不过如果是复杂的留言,估计会出错.这里大家如果有更好的方法,欢迎贴出来切磋.
mysql数据库:
CREATE TABLE IF NOT EXISTS `msg` (
`id` bigint(12) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`ip_address` varchar(16) COLLATE utf8_unicode_ci NOT NULL,
`data` text COLLATE utf8_unicode_ci NOT NULL,
`time` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=12 ;
phpmyadmin导入即可
文件源码:
#!/usr/local/python2/bin/python
# -*- coding: utf-8 -*-
import re
import time
import urllib
import adodb
import MySQLdb
def myapp(environ, start_response):
#////////////////数据库初始化/////////////
conn = adodb.NewADOConnection('mysql')
conn.Connect('localhost','user','psssword','dbname')
#////////////////数据库初始化/////////////
conn.Execute("set names 'utf8'")
username = ""
data = ""
post = str(environ['wsgi.input'].read())
if len(post)>0:
p = re.compile('username=(.*?)&msg=(.*?)&submit')
urls = p.findall(post)
i = 0
for x in urls[0]:
if i==1:
data = urllib.unquote_plus(x)
else:
username = urllib.unquote_plus(x)
i += 1
conn.Execute("INSERT INTO `msg` ( `id`, `username`, `ip_address`, `data`, `time` ) VALUES (%s, %s, %s, %s, %s)", (None, MySQLdb.escape_string(username), MySQLdb.escape_string(environ['REMOTE_ADDR']), MySQLdb.escape_string(data), time.time()))
post_table = ''
res = conn.Execute('select * from msg order by time DESC')
#print cursor.fields[1]
while not res.EOF:
topic = res.GetRowAssoc(0)
post_table += '<br><table width=600 border=1 cellspacing=\'2\' cellpadding=\'2\'><tr><td width=100>用户名</td><td>'+str(topic['username'])+'</td></tr><tr><td>留言时间</td><td>'+str(time.strftime('%Y-%m-%d %X', time.localtime(topic['time'])))+'</td></tr><tr><td>留言内容</td><td>'+str(topic['data'])+'</td></tr><tr></tr></table>'
res.MoveNext()
res.Close()
start_response('200 OK', [('Content-Type', 'text/html')])
return ["<html><HEAD><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"><TITLE>留言板</TITLE></HEAD><body><form action=\"./board.py\" method=\"post\"><table width=600 border=1 cellspacing=\"2\" cellpadding=\"2\"><tr><td>用户名</td><td><input type=\"text\" name=\"username\" size=\"20\"></td></tr><tr><td>留言内容</td><td><textarea name=\"msg\" rows=\"3\" cols=\"60\"></textarea></td></tr><tr><td colspan=2><input name=\"submit\" type=\"submit\" value=\"提交留言\"></td></tr></table></form></body></html>"+post_table] #HTTP返回
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp).run()
分享到:
- 2009-06-22 14:37
- 浏览 783
- 评论(1)
- 论坛回复 / 浏览 (1 / 2426)
- 查看更多
相关推荐
黑男奉献版服装ERP生产管理软件整体源代码(大出血赠送广大编程学习者一起切磋武艺!)
合作学习则通过切磋交流,共同完成任务,培养团队协作精神;探究学习则鼓励学生质疑、研究和解决问题,以培养独立思考能力。这些学习方式与现代教育理念相吻合,有利于个体发展和综合素质的提升。 然而,学习方式的...
在这激动人心的时刻,每所校园里都洋溢着对未来的美好憧憬,而欢迎词则成为了向新生传达学校精神和文化的重要媒介。这些欢迎词不仅仅是简单的致辞,它们承载着学校对新生的期许,为他们开启大学生活的序幕。 首先,...
例如,定期举办公开课、工作坊、研讨会等,通过教师之间的交流和切磋,使教师们能够互相学习、共同成长。此外,鼓励教师参与科研活动,通过实际的教育研究来提升自身的科研能力和创新能力。 为了营造持续学习的氛围...
"南南合作"是指优秀学生之间的互相学习,通过切磋经验和方法,共同提高。"南北交流"则是优秀学生帮助后进生,通过辅导和交流,使整个小组的学习成绩得到提升。这样的合作模式有助于建立良好的学习氛围,培养学生的...
此外,团队合作和交流切磋也是提升学习效果的重要手段,通过互相帮助和讨论,我们可以拓宽视野,增强批判性思维能力。 最后,课程引用了古代智慧来强调学习的重要性。"知之者,不如好之者;好之者,不如乐之者"提醒...
学生应该在上课前主动浏览即将学习的教材内容,而这样的预习并不只是简单地阅读一遍而已,而是要带着问题和思考去预习。在这个过程中,学生需要找出教材中吸引自己的部分,同时标记出那些自己不理解的难题。这样的...
第二课时则通过“学习方法自助餐”和“学习方法互相切磋”等活动,让学生发现并实践适合自己的学习方法,同时教师可根据学生实际情况介绍相关学习策略;第三课时可阅读“阅读与感悟”,进行自我评估,如果时间有限,...
1. **工作方面**:跟岗教师应树立为教育奉献的精神,将学习视为提升自身能力的重要途径。在教学实践中,要遵循学校规章制度,激发学生学习兴趣,提高课堂效率。通过参与教学改革,如高效课堂建设,提升教学质量。...
【标题】和【描述】提及的是初中数学小组合作学习的研究,主要探讨了合作学习在教育中的重要性,以及小组合作学习的特征、形式和存在的问题。以下是对这些内容的详细阐述: **一、合作学习的意义** 合作学习的概念...
《虫虫钢琴琴谱大全》可能会有社区功能,允许用户分享自己的演奏录音、交流学习心得,甚至可以参与到线上比赛中,与全球的琴友切磋技艺。这种互动性不仅增加了学习的乐趣,也促进了学习者的动力和参与度。 除此之外...
本篇工作室跟岗学习总结聚焦于吴向东名师工作室的实地体验,深挖跟岗学习过程中的感悟与收获,旨在为同行提供参考,共促教育事业的繁荣发展。 首先,遵守规则、自我约束是教师职业素质的体现,更是专业成长的基石。...
笔者希望通过连续编写有关CAD制图的系列文章,不仅能够帮助读者提升绘图速度和质量,而且能够在同行间建立一个交流和讨论的平台,通过相互学习和切磋,共同进步。 通过本文档,我们了解到作者在学习CAD制图过程中的...
同时,3D Tai Chi 1.0 可能内置了社区交流功能,允许用户分享心得,与其他学习者相互切磋,增强学习的互动性和社群感。 教育软件的创新,如3D Tai Chi 1.0,无疑推动了行业的发展。它不仅使太极拳的学习更加便捷,...
【中学语文骨干教师培训学习总结】 本次中学语文骨干教师培训是一个为期两年的系统学习过程,旨在提升参训教师的专业素养和教学能力。培训内容丰富多元,涵盖了教育专家的专题报告、一线教师的讲座、实践课与观摩课...
开发者可能需要自定义一个简单的物理引擎来模拟这些行为。 4. **碰撞检测**:检测玩家角色与弹幕之间的碰撞是游戏的核心逻辑之一。这通常通过坐标系统和几何形状的比较来实现。 5. **状态管理**:游戏有不同的状态...
"安卓应用-教育学习-北京学太极 v1.0.160101.zip" 这个标题揭示了我们要探讨的是一个针对Android操作系统的应用程序,属于教育学习类别。"北京学太极"是应用的具体名称,表明这是一款关于学习太极拳的软件。版本号"v...
【教师培训跟岗学习总结】 在教师培训跟岗学习中,我深感收获丰厚,不仅在教学技巧上有了显著提升,也在教育理念上得到了更新。这次培训以“2013年广东省钟xx老师工作室名教师培养对象跟岗学习培训方案”为主线,...
在参与此次初中数学国培学习的过程中,我深感荣幸,不仅有机会接触专家的智慧,还能与同行交流切磋,拓宽视野,提升自我。这次学习让我明白,教师的成长离不开积极的态度和主动的学习。下面我将从四个方面分享我的...
在2014年度的网络研修学习过程中,我深深地体会到网络研修作为一种全新的教师专业发展途径,不仅提升了我的教育教学效果,还增强了我的业务综合能力。以下是对这次学习的几点重要总结: 首先,网络研修让我认识到...