【发布时间】:2009-03-16 22:55:07
【问题描述】:
我想将我的模型移动到一个单独的目录中,类似于使用 Rails 来减少代码混乱的方式。有什么方法可以轻松做到这一点?
谢谢, 科林
【问题讨论】:
标签: python google-app-engine model
我想将我的模型移动到一个单独的目录中,类似于使用 Rails 来减少代码混乱的方式。有什么方法可以轻松做到这一点?
谢谢, 科林
【问题讨论】:
标签: python google-app-engine model
我假设您使用的是基本的 webkit,而不是 Django 或其他花哨的东西。在这种情况下,只需创建一个名为 models 的子目录。将您用于模型的任何 python 文件放在此处。在此文件夹中创建一个名为 __init__.py 的空白文件。
然后在你的 main.py 或“控制器”或者你有什么,放:
import models
在顶部。
您刚刚创建了一个python package。
【讨论】:
布兰登的回答就是我所做的。此外,我更喜欢 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
这有点多余,但我对命名空间有很多控制权。
【讨论】: