代码改变世界

随笔档案-2012年11月23日

Web.py Cookbook 简体中文版 - Webpy + Nginx with FastCGI搭建Web.py

2012-11-23 11:16 by justjavac, 206 阅读, 收藏,
摘要: 这一节讲解的是如何使用Nginx和FastCGI搭建Web.py应用环境依赖的软件包Nginx 0.8.* or 0.7.* (需要包含fastcgi和rewrite模块)。Webpy 0.32Spawn-fcgi 1.6.2Flup注意:Flup是最常见的忘记装的软件,需要安装更老的版本应该也可以工作,但是没有测试过,最新的是可以工作的一些资源Nginx wikiSpawn-fcgiFlupNotes你可以重命名index.py为任何你想要的文件名。/path/to/www为代码路径。/path/to/www/index.py为python代码的完整路径。Nginx 配置文件location 阅读全文

Web.py Cookbook 简体中文版 - File Upload Recipe

2012-11-23 11:15 by justjavac, 179 阅读, 收藏,
摘要: 问题如果你不是很了解表单上传或者CGI的话, 你会觉得文件上传有点奇特.解决方法import weburls = ('/upload', 'Upload')class Upload: def GET(self): return """<html><head></head><body><form method="POST" enctype="multipart/form-data" action=""><inp 阅读全文

webpy-cookbook-form-ields.html

2012-11-23 11:15 by justjavac, 244 阅读, 收藏,
摘要: 问题:怎样在模板中个别显示表单字段?解决:你可以使用’render()’方法在你的模板中显示部分的表单字段。假设你想创建一个名字/姓氏表单。很简单,只有两个字段,不需要验证,只是为了测试目的。from web import formsimple_form = form.Form( form.Textbox('name', description='Name'), form.Textbox('surname', description='Surname'),)通常你可以使用simple_form.render()或simple_fo 阅读全文

Web.py Cookbook 简体中文版 - 怎样使用表单 forms

2012-11-23 11:15 by justjavac, 281 阅读, 收藏,
摘要: 问题:怎样使用表单 forms解决:‘web.form’模块提供支持创建,校验和显示表单。该模块包含一个’Form’类和各种输入框类如’Textbox’,’Password’等等。当’form.validates()’调用时,可以针对每个输入检测的哪个是有效的,并取得校验理由列表。‘Form’类同样可以使用完整输入附加的关键字参数’validators’来校验表单。这里是一个新用户注册的表单的示例:import webfrom web import formrender = web.template.render('templates') # your templatesvpa 阅读全文

Web.py Cookbook 简体中文版 - Hello World!

2012-11-23 11:14 by justjavac, 171 阅读, 收藏,
摘要: 问题如何用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 简体中文版 - 模板文件中的i18n支持

2012-11-23 11:14 by justjavac, 175 阅读, 收藏,
摘要: 问题:在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 简体中文版 - web.input

2012-11-23 11:13 by justjavac, 211 阅读, 收藏,
摘要: 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, 173 阅读, 收藏,
摘要: 问题如何向数据加新增数据?解决办法在 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, 234 阅读, 收藏,
摘要: 问题如何让站点每个页面共享一个整站范围的模板?(在某些框架中,称为模板继承,比如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 简体中文版 - 上传文件大小限定

2012-11-23 11:12 by justjavac, 228 阅读, 收藏,
摘要: 问题如何限定上传文件的大小?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 简体中文版 - 管理自带webserver日志

2012-11-23 11:12 by justjavac, 338 阅读, 收藏,
摘要: 问题如何操作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 简体中文版 - deploying web.py with nginx and mod_wsgi

2012-11-23 11:11 by justjavac, 130 阅读, 收藏,
摘要: 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. 阅读全文

Web.py Cookbook 简体中文版 - 使用Apache + mod_wsgi部署webpy应用

2012-11-23 11:11 by justjavac, 259 阅读, 收藏,
摘要: 下面的步骤在Apache-2.2.3 (Red Hat Enterprise Linux 5.2, x86_64),mod_wsgi-2.0中测试通过。(译者注:本人在Windows2003 + Apache-2.2.15 + mod_wsgi-3.0也测试通过)注意:您可以使用您自己的项目名称替换’appname’。您可以使用您自己的文件名称替换’code.py’。/var/www/webpy-app 为包含您的code.py的文件夹目录路径。/var/www/webpy-app/code.py 是您的python文件的完整路径。步骤:下载和安装mod_wsgi从它的网站:http://co 阅读全文

Web.py Cookbook 简体中文版 - 从post读取原始数据

2012-11-23 11:11 by justjavac, 206 阅读, 收藏,
摘要: 介绍有时候,浏览器会通过post发送很多数据。在webpy,你可以这样操作。代码class RequestHandler(): def POST(): data = web.data() # 通过这个方法可以取到数据 阅读全文

Web.py Cookbook 简体中文版 - 跳转(seeother)与重定向(redirect)

2012-11-23 11:10 by justjavac, 378 阅读, 收藏,
摘要: web.seeother 和 web.redirect问题在处理完用户输入后(比方说处理完一个表单),如何跳转到其他页面?解法class SomePage: def POST(self): # Do some application logic here, and then: raise web.seeother('/someotherpage')POST方法接收到一个post并完成处理之后,它将给浏览器发送一个303消息和新网址。接下来,浏览器就会对这个新网址发出GET请求,从而完成跳转。注意:web.seeother和web.redirect不支持0.3以... 阅读全文

Web.py Cookbook 简体中文版 - sqlalchemy

2012-11-23 11:10 by justjavac, 274 阅读, 收藏,
摘要: 问题如何在web.py中使用sqlalchemy方案创建一个钩子并使用sqlalchemy的scoped session(http://www.sqlalchemy.org/docs/05/session.html#unitofwork_contextual)import stringimport randomimport webfrom sqlalchemy.orm import scoped_session, sessionmakerfrom models import *urls = ( "/", "add", "/view", 阅读全文

Web.py Cookbook 简体中文版 - 提供静态文件 (诸如js脚本, css样式表和图象文件)

2012-11-23 11:09 by justjavac, 347 阅读, 收藏,
摘要: 问题如何在web.py自带的web server中提供静态文件访问?解法在当前应用的目录下,创建一个名为static的目录,把要提供访问的静态文件放在里面即可。例如, 网址http://localhost/static/logo.png将发送./static/logo.png给客户端。 阅读全文

Web.py Cookbook 简体中文版 - 用cherrypy提供SSL支持

2012-11-23 11:09 by justjavac, 223 阅读, 收藏,
摘要: 问题如何用内置的cheerypy提供SSL支持?解法import webfrom web.wsgiserver import CherryPyWSGIServerCherryPyWSGIServer.ssl_certificate = "path/to/ssl_certificate"CherryPyWSGIServer.ssl_private_key = "path/to/ssl_private_key"urls = ("/.*", "hello")app = web.application(urls, glob 阅读全文

Web.py Cookbook 简体中文版 - 整合 SQLite UDF (用户定义函数) 到 webpy 数据库层

2012-11-23 11:09 by justjavac, 378 阅读, 收藏,
摘要: 问题:用户在邮件列表中询问,我把它放在这里作为将来使用和参考。解决:您可以添加到Python函数到SQLite,并让它们在您的查询调用。示例:>>> import sqlite3 as db>>> conn = db.connect(":memory:")>>> conn.create_function("sign", 1, lambda val: val and (val > 0 and 1 or -1))>>> cur = conn.cursor()>>> 阅读全文

Web.py Cookbook 简体中文版 - 保存上传的文件

2012-11-23 11:08 by justjavac, 226 阅读, 收藏,
摘要: 问题上传文件,并将其保存到预先设定的某个目录下。方法import weburls = ('/upload', 'Upload')class Upload: def GET(self): web.header("Content-Type","text/html; charset=utf-8") return """<html><head></head><body><form method="POST" enctype=&q 阅读全文
无觅相关文章插件,快速提升流量