快速上手Quixote

快速上手Quixote

Luo Weifeng 2011-6-19

关于Quixote的详细信息不了解的童鞋可以去官方网站看看:http://www.quixote.ca

这里的快速实例使用的方案是:

这里我们选择lighttpd。

配置环境:

注意:我使用的ubuntu标准版,如果使用window,配置是不同的,不在本文叙述中。

1. 首先安装Quixote

$sudo apt-get install python-quixote

2. SCGI模块

$sudo apt-get install python-scgi

3. lighttpd

$sudo apt-get install lighttpd

(注:如果您使用的apache服务器而不是lighttpd,可能需要的是 libapache2-mod-scgi )

配置lighttpd

为了测试方便我们假设在您的主目录下存在一个目录叫workspace,以下是我们这个小程序的目录结构。

workspace:

-------------lighttpd.conf

-------------scgi-server.py

-------------app:

                ------------- __init__.py

               -------------hello:

                               ------------- __init__.py

                              ------------- hello_ui.ptl

测试用代码:

lighttpd.conf

server.modules = ( "mod_scgi", ) server.document-root = "." server.port = 8080 scgi.server = ( "/" => ( "localhost" => ( "host" => "127.0.0.1", "port" => 4000, "check-local" => "disable", ) ) ) 

 

scgi-server.py

#!python #!/usr/bin/env python from scgi.quixote_handler import QuixoteHandler, main from quixote import enable_ptl enable_ptl() class MyHandler(QuixoteHandler): root_namespace = 'app' if __name__ == '__main__': main(MyHandler) 

 

app/__init__.py

#!python # app/__init__.py _q_exports = ['hello'] 

 

app/hello/__init__.py

 

#!python # app/hello/__init__.py from app.hello.hello_ui import say_hello _q_exports = [] def _q_index(request): return say_hello("everyone") def _q_lookup(request, name): return hello def hello(request): return say_hello(name)

 

app/hello/hello_ui.ptl

#!python # app/hello/hello_ui.ptl def say_hello [html] (name): header(title="Hello") "Hello, " """<em class="name">%s</em>!""" % name footer() def header [html] (title): """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>%s</title> </head> <body> """ % title def footer [html] (): """</body> </html> """ 

 

测试运行

$ python scgi-server.py
$ /usr/sbin/lighttpd -f lighttpd.conf
 $ lynx  http://localhost:8080/hello/bob ,就可以看到 "Hello, ''bob''!"了

 

你可能感兴趣的:(html,XHTML,测试,header,lighttpd,import)