【问题标题】:Separating Models and Request Handlers In Google App Engine在 Google App Engine 中分离模型和请求处理程序
【发布时间】:2009-03-16 22:55:07
【问题描述】:

我想将我的模型移动到一个单独的目录中,类似于使用 Rails 来减少代码混乱的方式。有什么方法可以轻松做到这一点?

谢谢, 科林

【问题讨论】:

    标签: python google-app-engine model


    【解决方案1】:

    我假设您使用的是基本的 webkit,而不是 Django 或其他花哨的东西。在这种情况下,只需创建一个名为 models 的子目录。将您用于模型的任何 python 文件放在此处。在此文件夹中创建一个名为 __init__.py 的空白文件。

    然后在你的 main.py 或“控制器”或者你有什么,放:

    import models
    

    在顶部。

    您刚刚创建了一个python package

    【讨论】:

      【解决方案2】:

      布兰登的回答就是我所做的。此外,我更喜欢 Rails 的每个文件一个模型的自定义。我并不完全坚持,但这是我的基本模式,特别是因为 Python 倾向于鼓励比 Ruby 更多但更简单的代码行。

      所以我要做的就是把模型也做成一个包:

      models/
      models/__init__.py
      models/user.py
      models/item.py
      models/blog_post.py
      

      在主要的 .py 文件中,我放置了我的基本类定义,可能还有一些辅助函数(Python 的模块系统使得将快速辅助函数与类定义保持耦合更加安全)。而我的__init__.py 将它们拼接在一起:

      """The application models"""
      from user import User
      from item import Item
      from blog_post import BlogPost
      

      这有点多余,但我对命名空间有很多控制权。

      【讨论】:

        猜你喜欢
        • 2012-11-13
        • 1970-01-01
        • 1970-01-01
        • 2011-03-21
        • 2018-05-18
        • 2011-01-05
        • 2013-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多