平台简介
- Tethys平台源于MVC与Django
平台组成
各个.html文件
app里面的各个HTML文件就代表这我们这个网页APP的各种文件,Tethys平台多采用了Django,所以templates里面的base.html是Tethys生成的模板HTML文件。当我们写其他的页面时,可以直接继承base.html,在其基础上改写。
app.py
app.py包含了整个tethys App的整体信息,其中包括: App名字、作者等等基础信息;
以及在我们会定义这个App的url map类:url_maps。
url_maps包含了:
UrlMap(
name='home',
url='dam-inventory',
controller='dam_inventory.controllers.home'
),
从而可以将我们本地的各个.html文件与我们需要给其赋予的url联系起来,其中:
name为我们在controllers.py
文件为每个页面定义的函数;
url为我们为每个页面赋予的url;
controller为我们存放每个页面的路径。
controllers.py
controllers.py
文件是App中处理view(front end)层的最底层,其中包含了各个函数对应控制着App的每个页面:
- 页面与其对应的函数之间用request来传递信息(如登录,哪些按钮被按下,哪些输入框被输入了信息等)。
- 每个函数最后返回的render会决定其相对的页面在加载时应该显示哪些内容。
- 与页面想对应的函数同时也会定义我们在其HTML文件中申明的gizmo。
- 当一个页面和更底层有数据的往来时,我们需要在其对应的函数中调用
model.py
里面的函数来完成。
model.py
model.py
实际上对应的是MVC框架中的controller层(server),也就是对model实体进行操作,其中具有很多函数可以供controllers.py
来调用,例如:
- 当页面中有表单信息输入时,
controllers.py
在request中获取到信息,然后调用model.py
中的函数(创建对应的Jason文件等等),即可完成数据的输入到back end层的工作。 - 当页面中有调用数据库信息的请求,同样也可以在
controllers.py
中调用相对应的model.py
中的函数,获取从数据库传来的Jason的内容,从而打印出来。
网友评论