摘要:问题你希望创建一个字典来构造动态的where子句并且希望能够在查询语句中使用。解决>>> import web>>> db = web.database(dbn='postgres', db='mydb', user='postgres')>>> where_dict = {'col1': 1, col2: 'sometext'}>>> db.delete('mytable', where=web.db.sqlwhere(whe 阅读全文
Web.py Cookbook 简体中文版 - 用soaplib实现webservice
2012-11-23 11:01 by justjavac, 219 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何用soaplib实现webservice?解法Optio的soaplib通过用装饰器指定类型,从而直接编写SOAP web service。而且它也是到目前为止,唯一为web service提供WSDL文档的Python类库。import web from soaplib.wsgi_soap import SimpleWSGISoapAppfrom soaplib.service import soapmethodfrom soaplib.serializers import primitive as soap_typesurls = ("/hello", &quo 阅读全文
Web.py Cookbook 简体中文版 - 提供XML访问
2012-11-23 11:00 by justjavac, 213 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何在web.py中提供XML访问?如果需要为第三方应用收发数据,那么提供xml访问是很有必要的。解法根据要访问的xml文件(如response.xml)创建一个XML模板。如果XML中有变量,就使用相应的模板标签进行替换。下面是一个例子:$def with (code)<?xml version="1.0"?><RequestNotification-Response><Status>$code</Status></RequestNotification-Response>为了提供这个XML,需要创建一个单独 阅读全文
web.py 0.3 新手指南 - RESTful doctesting using app.request
2012-11-23 10:59 by justjavac, 210 阅读, 0 推荐, 收藏, 编辑
摘要:!/usr/bin/env python"""RESTful web.py testingusage: python webapp.py 8080 [--test]>>> req = app.request('/mathematicians', method='POST')>>> req.status'400 Bad Request'>>> name = {'first': 'Beno\xc3\xaet', 'last 阅读全文
web.py 0.3 新手指南 - 使用db.query进行高级数据库查询
2012-11-23 10:59 by justjavac, 238 阅读, 0 推荐, 收藏, 编辑
摘要:问题:您要执行的SQL语句如:高级的联接或计数。解决:webpy不会尝试为您和您的数据库建立层。相反,它试图以方便的通用任务,走出自己的方式,当您需要做的更高级的主题。执行高级的数据库查询是没有什么不同。例如:import webdb = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')results = db.query("SELECT COUNT(*) AS total_users FROM users")print result 阅读全文
web.py 0.3 新手指南 - 多数据库使用
2012-11-23 10:59 by justjavac, 117 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何在单独项目中应用多数据库?解决办法webpy 0.3 支持多数据库操作,并从web模块中移走数据库部分, 使其成为一个更典型的对象. 例子如下:import webdb1 = web.database(dbn='mysql', db='dbname1', user='foo')db2 = web.database(dbn='mysql', db='dbname2', user='foo')print db1.select('foo', where='id=1' 阅读全文
web.py 0.3 新手指南 - 实时语言切换
2012-11-23 10:58 by justjavac, 251 阅读, 0 推荐, 收藏, 编辑
摘要:问题:如何实现实时语言切换?解法:首先你必须阅读模板语言中的i18n支持, 然后尝试下面的代码。文件: code.pyimport osimport sysimport gettextimport web# File location directory.rootdir = os.path.abspath(os.path.dirname(__file__))# i18n directory.localedir = rootdir + '/i18n'# Object used to store all translations.allTranslations = web.stor 阅读全文
web.py 0.3 新手指南 - 发送邮件
2012-11-23 10:57 by justjavac, 169 阅读, 0 推荐, 收藏, 编辑
摘要:问题在web.py中,如何发送邮件?解法在web.py中使用web.sendmail()发送邮件.web.sendmail('cookbook@webpy.org', 'user@example.com', 'subject', 'message')如果在web.config中指定了邮件服务器,就会使用该服务器发送邮件,否则,就根据/usr/lib/sendmail中的设置发送邮件。web.config.smtp_server = 'mail.mydomain.com'如果要发送邮件给多个收件人,就给to_addr 阅读全文
web.py 0.3 新手指南 - db.select 查询
2012-11-23 10:57 by justjavac, 241 阅读, 0 推荐, 收藏, 编辑
摘要:问题:怎样执行数据库查询?解决方案:如果是0.3版本, 连接部分大致如下:db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')当获取数据库连接后, 可以这样执行查询数据库:# Select all entries from table 'mytable'entries = db.select('mytable')select方法有下面几个参数:varswhatwhereordergrouplimitoffsettes 阅读全文
web.py 0.3 新手指南 - 在调试模式下使用session
2012-11-23 10:56 by justjavac, 309 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何在调试模式下使用session?解法使用web.py自带的webserver提供web服务时,web.py就运行在调试模式下。当然最简单的办法就是禁用调试,只要令web.config.debug = False即可。import webweb.config.debug = False# rest of your code如果非要用调试模式下使用session,可以用非主流的一些办法。哈哈因为调试模式支持模块重载入(重载入,绝非重载。是reload,而非override),所以reloader会载入主模块两次,因此,就会创建两个session对象。但我们只要把session存储在全局的数 阅读全文