Python Pyramid - Hello World 示例
示例
要检查 Pyramid 及其依赖项是否已正确安装,请使用任何支持 Python 的编辑器输入以下代码并将其保存为 hello.py。
from wsgiref.simple_server import make_server from pyramid.config import Configurator from pyramid.response import Response def hello_world(request): return Response('Hello World!') if __name__ == '__main__': with Configurator() as config: config.add_route('hello', '/') config.add_view(hello_world, route_name='hello') app = config.make_wsgi_app() server = make_server('0.0.0.0', 6543, app) server.serve_forever()
需要 Configurator 对象来定义 URL 路由并将视图函数绑定到它。WSGI 应用程序对象是从此配置对象获得的,是 make_server() 函数的参数以及本地主机的 IP 地址和端口。 服务器对象在 serve_forever() 方法被调用时进入监听循环。
从命令终端运行这个程序。
Python hello.py
输出
WSGI 服务器开始运行。 打开浏览器,在地址栏输入http://loccalhost:6543/。 当请求被接受时,hello_world() 视图函数就会被执行。 它返回 Hello world 消息。 Hello world 消息将显示在浏览器窗口中。
如前所述,wsgiref 模块中的 make_server() 函数创建的开发服务器不适合生产环境。 相反,我们将使用 Waitress 服务器。 按照以下代码修改hello.py −
from pyramid.config import Configurator from pyramid.response import Response from waitress import serve def hello_world(request): return Response('Hello World!') if __name__ == '__main__': with Configurator() as config: config.add_route('hello', '/') config.add_view(hello_world, route_name='hello') app = config.make_wsgi_app() serve(app, host='0.0.0.0', port=6543)
除了我们使用 waitress 模块的 serve() 函数来启动 WSGI 服务器之外,所有其他功能都是相同的。运行程序后,在浏览器中访问'/'路由时,Hello world 消息和之前一样显示。
代替函数,可调用类也可以用作视图。 可调用类是覆盖 __call__() 方法的类。
from pyramid.response import Response class MyView(object): def __init__(self, request): self.request = request def __call__(self): return Response('hello world')