Phi*_*hil 11 python model-view-controller pyramid
什么是金字塔/ Python等效的模型 - 视图 - PHP框架的控制器,如Kohana?
In Pyramid "Model" is .... and it is used for .....
In Pyramid "View" is .... and it is used for .....
In Pyramid "Controller" is .... and it is used for .....
Run Code Online (Sandbox Code Playgroud)
我想了解金字塔的逻辑.作为答案的补充,任何帮助,文档等将不胜感激.
谢谢.
Jon*_*sco 20
Pylons是连接在一起成为Pyramid的两个框架之一(另一个是repoze.bfg)与MVC系统"接近".
我接近引用,因为在过去的几年里,很多人一直在争论MVC意味着什么...许多曾经称自己为"MVC"的项目开始称他们为"MTC"(模型模板控制器)" MT"(模型模板)或"MV"(模型视图).每个人都同意"模型"是什么,但"视图"和"控制器"在给定框架上映射的确切内容可能是一个争论点.
金字塔和挂架都具有"调度程序"功能,可以为请求设置映射.在pylons下它在config/routes.py; 在金字塔下它有点不同 - 默认的脚手架在app/init .py中有路由,但你可以自由地将它分解为app/routes.py或使用config.include()将其推送到你的处理程序'或config.scan()将其从'视图'中拉出来.
金字塔中的"处理程序"由pyramid_handlers提供,实际上只是"视图"中有一堆自动生成的东西.如果你愿意,你的应用程序可以使用处理程序和视图(我的).
无论如何,根据你如何解释MVC/MTC /等,这是一个你可能想要的松散表格:
|| mvt | mvc | mvc
==========================================================================
model || sqlalchemy | sqlalchemy | sqlalchemy
view || views/handlers | templates | views/handlers + templates
controller || | views/handlers | dispatch/routing
template || templates | |
Run Code Online (Sandbox Code Playgroud)
快速注意 - 我定义上述内容并非基于我的解释或"官方"MVC定义是什么......它基于其他流行框架如何推销自己.
Ant*_*mud 11
如果您愿意,可以使用金字塔模拟MVC模式:
Class HomeController(object):
def __init__(self, request):
self.request = request
def form_proc(self):
name = self.request.params['name']
... bla, bla, bla ...
在配置中,您可以添加以下内容:
config.add_handler('home', '/home/{action}',
handler='mypackage.HomeController')
如果您将此网址放在表单操作 - > http:// SERVER_NAME/home/form_proc中,则可以处理该表单.
金字塔为您提供所有灵活性,如果您需要它.
| 归档时间: |
|
| 查看次数: |
3113 次 |
| 最近记录: |