📜  TurboGears-依赖关系

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


TurboGears项目包含以下目录-

  • Config-项目设置和配置所依赖的位置

  • 控制器-所有项目控制器,Web应用程序的逻辑

  • i018n-支持的语言的翻译文件

  • -实用Python函数和类

  • 模型-数据库模型

  • 公共静态文件-CSS,JavaScript和图像

  • 模板-我们的控制器公开的模板。

  • 测试-完成的测试集。

  • Websetup-在应用程序安装时执行的功能。

如何安装项目

现在需要安装该项目。在项目的基本目录中已经提供了setup.py 。执行此脚本时,将安装项目依赖项。

Python setup.py develop

默认情况下,在项目设置时会安装以下依赖项-

  • 烧杯
  • 源氏
  • zope.sql炼金术
  • sqlalchemy的
  • 阿勒比比奇
  • tw2.forms
  • tgext.admin≥0.6.1
  • Web助手2
  • 巴别塔

安装后,通过在shell中发出以下命令,开始在开发服务器上为项目提供服务-

Gearbox serve –reload –debug

按照上面提到的命令来服务一个预先构建的示例项目。在浏览器中打开http:// localhost:8080 。这个现成的示例应用程序简要介绍了TurboGears框架本身。

项目窗口

在此Hello项目中,默认控制器在controllers目录中创建为Hello / hello / controllers.root.py 。让我们用以下代码修改root.py-

from hello.lib.base import BaseController
from tg import expose, flash

class RootController(BaseController):
   movie = MovieController()
   @expose()
   def index(self):
      return "

Hello World

" @expose() def _default(self, *args, **kw): return "This page is not ready"

准备好基本的工作应用程序后,可以在控制器类中添加更多视图。在上面的Mycontroller类中,添加了一个新方法sayHello()@expose()装饰器将/ sayHello URL附加到它。此函数旨在接受名称作为URL中的参数。

通过’gearbox serve’命令启动服务器后, http:// localhost:8080 。即使输入以下URL,Hello World消息也会显示在浏览器中-

http:// localhost:8080 /

http:// localhost:8080 / index

所有这些URL都映射到RootController.index()方法。此类还具有_default()方法,只要未将URL映射到任何特定的函数,该方法就会被调用。 URL的响应通过@expose()装饰器映射到一个函数。

可以从URL向公开函数发送参数。以下函数从URL读取name参数。

@expose()
def sayHello(self, name):
   return '

Hello %s

' %name

以下输出将在浏览器中显示为对URL的响应-http:// localhost:8080 /?name = MVL

Hello MVL

TurboGears自动将URL参数映射到函数参数。我们的RootController类继承自BaseController。这在应用程序的lib文件夹中定义为base.py。

其代码如下-

from tg import TGController, tmpl_context
from tg import request

__all__ = ['BaseController']

def __call__(self, environ, context):
   tmpl_context.identity = request.identity
   return TGController.__call__(self, environ, context)

TGController .__ call__将请求路由到Controller方法。