TurboGears - 第一个程序


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

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

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

接下来,设置应用程序的配置并声明应用程序对象。这里的AppConfig类构造函数采用两个参数 - 设置为 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 应用程序的完整代码 -

应用程序.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

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

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

gearbox quickstart HelloWorld

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