摘要:问题如果你不是很了解表单上传或者CGI的话, 你会觉得文件上传有点奇特.解决方法import weburls = ('/upload', 'Upload')class Upload: def GET(self): return """<html><head></head><body><form method="POST" enctype="multipart/form-data" action=""><inp 阅读全文
Web.py Cookbook 简体中文版 - 模板文件中的i18n支持
2012-11-23 11:14 by justjavac, 168 阅读, 0 推荐, 收藏, 编辑
摘要:问题:在web.py的模板文件中, 如何得到i18n的支持?Solution:项目目录结构:proj/ |- code.py |- i18n/ |- messages.po |- en_US/ |- LC_MESSAGES/ |- messages.po |- messages.mo |- templates/ |- hello.html文件: proj/code.py#!/usr/bin/env python# encoding: utf-8impor... 阅读全文
Web.py Cookbook 简体中文版 - Hello World!
2012-11-23 11:14 by justjavac, 166 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何用web.py实现Hello World!?解法import weburls = ("/.*", "hello")app = web.application(urls, globals())class hello: def GET(self): return 'Hello, world!'if __name__ == "__main__": app.run()提示:要保证网址有无’/’结尾,都能指向同一个类。就要多写几行代码,如下:在URL开头添加代码:'/(.*)/', 'redire 阅读全文
Web.py Cookbook 简体中文版 - web.input
2012-11-23 11:13 by justjavac, 203 阅读, 0 推荐, 收藏, 编辑
摘要:web.input问题如何从form或是url参数接受用户数据.解决方法web.input()方法返回一个包含从url(GET方法)或http header(POST方法,即表单POST)获取的变量的web.storage对象(类似字典).举个例子,如果你访问页面http://example.com/test?id=10,在Python后台你想取得 id=10 ,那么通过web.input()那就是小菜一碟:class SomePage: def GET(self): user_data = web.input() return "<h1>" + user_d. 阅读全文
Web.py Cookbook 简体中文版 - db.insert 向数据库中新增数据
2012-11-23 11:13 by justjavac, 165 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何向数据加新增数据?解决办法在 0.3 中,数据库连接如下:db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')数据库连接写好以后,“insert” 操作如下:# 向 'mytable' 表中插入一条数据sequence_id = db.insert('mytable', firstname="Bob",lastname="Smith",joindate=web.SQLL 阅读全文
Web.py Cookbook 简体中文版 - 站点布局模板
2012-11-23 11:13 by justjavac, 228 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何让站点每个页面共享一个整站范围的模板?(在某些框架中,称为模板继承,比如ASP.NET中的母版页)方法我们可以用 base 属性来实现:render = web.template.render('templates/', base='layout')现在如果你调用render.foo()方法,将会加载templates/foo.html模板,并且它将会被templates/layout.html模板包裹。“layout.html” 是一个简单模板格式文件,它包含了一个模板变量,如下:$def with (content)<html><h 阅读全文
Web.py Cookbook 简体中文版 - 管理自带webserver日志
2012-11-23 11:12 by justjavac, 333 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何操作web.py自带的webserver的日志?解法我们可以用wsgilog来操作内置的webserver的日志,并做其为中间件加到应用中。如下,写一个Log类继承wsgilog.WsgiLog,在_init_中把参数传给基类,如这个例子:import sys, loggingfrom wsgilog import WsgiLog, LogIOimport configclass Log(WsgiLog): def __init__(self, application): WsgiLog.__init__( self, a... 阅读全文
Web.py Cookbook 简体中文版 - 上传文件大小限定
2012-11-23 11:12 by justjavac, 214 阅读, 0 推荐, 收藏, 编辑
摘要:问题如何限定上传文件的大小?Solutionweb.py 使用cgi模块来解析用户的输入, 而cgi模块对最大输入大小有限制。下面的代码限制了最大数据输入为 10MB.import cgi# Maximum input we will accept when REQUEST_METHOD is POST# 0 ==> unlimited inputcgi.maxlen = 10 * 1024 * 1024 # 10MB请注意这是对POST方法提交数据大小的限制,而不是上传文件大小。当然如果表单中没有其他输入数据,上传文件完全可以达到限制的大小。cgi模块将会抛出ValueError异常, 阅读全文
Web.py Cookbook 简体中文版 - 从post读取原始数据
2012-11-23 11:11 by justjavac, 193 阅读, 0 推荐, 收藏, 编辑
摘要:介绍有时候,浏览器会通过post发送很多数据。在webpy,你可以这样操作。代码class RequestHandler(): def POST(): data = web.data() # 通过这个方法可以取到数据 阅读全文
Web.py Cookbook 简体中文版 - deploying web.py with nginx and mod_wsgi
2012-11-23 11:11 by justjavac, 128 阅读, 0 推荐, 收藏, 编辑
摘要:t is possible to deploy web.py with nginx using a mod_wsgi similar to the module for Apache.After compiling and installing nginx with mod_wsgi, you can easily get a web.py app up and running with the following config* (edit the paths and settings with your own):wsgi_python_executable /usr/bin/pytho. 阅读全文