📜  TurboGears-第一个程序

📅  最后修改于: 2020-10-19 03:26:54             🧑  作者: Mango


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()

这意味着我们的应用程序将在localhost的端口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

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

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

gearbox quickstart HelloWorld

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