📅  最后修改于: 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的项目。