金字塔(塔)的新文件/目录结构是造成我一些混乱

我一直在开发的主塔了一小会儿,现在和最近知道他们的合并与另一个框架来创建金字塔。

我一直在寻找了示例代码,看看分歧,它造成了一些混乱...

例如,控制器已被替换意见。 不是一个大问题......但我觉得有趣的是有这些没有目录。 它只是一个文件views.py

请问这个新的MVC架构的工作? 难道我写我的所有行动统一到这个文件? 这可能会得到相当恼人的,当我有类似命名的动作(多个索引,例如):/

你能在如何使用这个框架的一些很好的教程/文档的方向指向我?

--------------解决方案-------------

由于不同的视图相关的配置方法(config.add_view,config.add_handler)要求你传递一个点的名称作为类或函数用作视图或处理,你可以安排你的代码,但是你喜欢。

例如,如果你的项目包的名称分别为myproject ,想安排在一个Python的子包,所有的意见myproject命名为“意见”(见http://docs.python.org/tutorial/modules.html#packages),而不是包一个意见的文件 ,您可以:

  • 创建一个views您的目录里面mypackage包。
  • 现有的views.py文件复制到新的内部文件views命名,比如目录blog.py
  • 创建新的内部文件views命名的目录__init__.py也可以是空的,这只是告诉Python的views 目录是包。

然后改变__init__.py您的myproject项目( __init__.py你刚才所创建的views ,从类似的目录,一个在它的父目录):

config.add_handler('myhandler', '/my/handler', handler='mypackage.views.MyHandler')

至:

config.add_handler('myhandler', '/my/handler', handler='mypackage.views.blog.MyHandler')

然后,您可以继续将文件添加到views的目录,并通过传递的带点名称指的意见或处理类/功能,这些文件中handler=view=

这里有一个答案,应该是非常简单的。 这个问题被问的时候金字塔1.3还没有出来。 所以,不要担心蟒蛇处理程序,因为新的装饰做了很好的工作了。

但刚开始:金字塔没有任何共同的结构。 你可能写一整个应用程序在一个单一的文件,如果你想要的。 换句话说,如果你喜欢怎么塔是结构化的,你可以去用它。 如果你喜欢设置自己的结构,然后去了。

如果您的网站并不需要一个以上的文件,然后...去了! 所有你真正需要的是,它的作品。

我个人有这样的结构

- root
- __init__.py # all setup goes there
- security.py # where functions related to ACL and group_finder
- models.py or models/ # where all my models go
- views.py or views/ # where all my views go
- templates
- modelname
- all template related to this resource type

- scripts # where I put my scripts like backup etc
- lib # all utilities goes there
- subscribers # where all events are defined

我的看法包可能有时会被分裂了许多文件,其中我最好组浏览用的ResourceType。

如果你碰巧使用环境相匹配的意见,而不是路线。 你可以做一些非常好的东西view_defaults和view_config。

view_defaults设置一些默认的类,并view_config设置为使用提供的默认值DEFS一些配置view_defaults如果存在的话。

分类:蟒蛇 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.354 (s). 10 q(s)