TurboGears - 第一个程序



TurboGears 具有极简模式,可以快速创建单个文件应用程序。可以使用最少的依赖项快速构建简单的示例和服务。

TG 应用程序中的 Application 类继承自 **TGController** 类。此类中的方法可通过 **tg** 模块中的 **@expose** 装饰器访问。在我们的第一个应用程序中,**index()** 方法被映射为应用程序的根。TGController 类也需要从 **tg** 模块导入。

from tg import expose, TGController
class MyController(TGController):
   @expose()
   def index(self):
      return 'Hello World turbogears'

接下来,设置应用程序的配置并声明应用程序对象。此处的 **AppConfig** 类构造函数采用两个参数 - 将 minimal 属性设置为 true 和控制器类。

config = AppConfig(minimal = True, root_controller = RootController())
application = config.make_wsgi_app()

此处的 **make_wsgi_app()** 函数构建应用程序对象。

为了服务此应用程序,我们现在需要启动 HTTP 服务器。如前所述,我们将使用 **wsgiref** 包中的 **simple_server** 模块来设置和启动它。此模块具有 **make_server()** 方法,该方法需要端口号和应用程序对象作为参数。

from wsgiref.simple_server import make_server
server = make_server('', 8080, application)
server.serve_forever()

这意味着我们的应用程序将在本地主机的 8080 端口上提供服务。

以下是我们的第一个 TurboGears 应用程序的完整代码:

app.py

from wsgiref.simple_server import make_server
from tg import expose, TGController, AppConfig

class MyController(TGController):

   @expose()
   def index(self):
      return 'Hello World TurboGears'
		 
config = AppConfig(minimal = True, root_controller = MyController())
application = config.make_wsgi_app()

print "Serving on port 8080..."
server = make_server('', 8080, application)
server.serve_forever()

从 Python shell 运行上述脚本。

Python app.py

在浏览器的地址栏中输入 **https://127.0.0.1:8080** 以查看“Hello World TurboGears”消息。

TurboGears 的 **tg.devtools** 包含 Gearbox。它是一组命令,可用于管理更复杂的 TG 项目。可以通过以下 Gearbox 命令快速创建全栈项目:

gearbox quickstart HelloWorld

这将创建一个名为 **HelloWorld** 的项目。

广告