Python和App Engine项目结构

时间:2010-03-30 14:55:52

标签: python google-app-engine

我对python和app引擎相对较新,我刚刚完成了我的第一个项目。 它由几个* .py文件(通常是网站上每个页面的py文件)和每个py文件的temple文件组成。 另外,我有一个很大的PY文件,它有许多常用于很多页面的函数,我还声明了db.Model的类(即数据存储类)。

我的问题是安排这些文件的约定(如果有的话)是什么。 如果我使用数据存储类创建一个model.py,它应该在不同的包中吗? 我应该在哪里放置模板文件和处理每个页面的所有py文件(它们应该与一个常见的PY文件位于同一目录中)吗?

我试图在网上寻找MVC和这样的实现,但是很少。

谢谢,

乔尔

2 个答案:

答案 0 :(得分:3)

我通常以这种方式组织我的项目:

project 
  main.py
  README
  models
      bar.py
      foo.py
  views
      foolist.hml
      barlist.hml
  controllers
      controller1.py
      controller2.py
  api
      controllerapi.py
  helpers
      utilities.py
  lib
      extfoo.py
  db
     foo.db
  test
     test.py

看看这个post;这是一篇关于如何构建项目的非常好的文章(不是在python中,但没关系)。

答案 1 :(得分:3)

通常我会这样组织:

project/
  main.py
  models.py
  app.yaml
  index.yaml
  templates/
    main.html
    foo.html
    ...
  styles/
    project.css
  js/
    jquery.js
    project.js
  images/
    icon.png
    something.jpg

我的所有处理程序都在main.py中,我的所有模型都在m​​odels.py等中。

如果我有很多处理程序,并且我可以轻松地将一些处理程序的功能与其他处理程序分开(比如taskqueue处理程序与请求处理程序与xmpp / email处理程序),我将添加另一个foo_handlers.py到混合,但通常我只是在main.py

中填写所有内容

但话说回来,我倾向于不编写非常复杂的Python App Engine应用程序......