【发布时间】:2011-05-08 21:38:15
【问题描述】:
我正在使用 Twisted 构建一个 Web 应用程序,对于网站资源,我有这样的结构:
/resources
__init__.py
file.py
javascript.py
images.py
wsdl.py
/pages
__init__.py
page.py
static.py
login.py
...etc...
其中file.py 和page.py 包含具有通用功能的父类(例如,分别是文件路径验证和会话/模板)。每个其他脚本都包含一个类,它是一个单一的扭曲资源。我的__init__.py 文件如下所示:
import javascript
Javascript = javascript.Javascript
import images
Images = images.Images
...
这样,在主脚本中,在将执行权交给twisted之前,我可以只使用import resources; import pages,然后只引用resources.Javascript()、pages.Login()等,而不必编写
from resources.javascript import Javascript
from resources.images import Images
from resources.wsdl import WSDL
from pages.static import Static
from pages.login import Login
...
然后使用这些类中的每一个来构建站点结构。它很快就会变得不守规矩。
请注意,我不会抱着“我永远是这个项目的唯一开发者,所以没关系”的心态来解决这个问题。
那么这是对导入系统的不人道滥用吗?我是不是应该先扣上from pages import *再用pages.Static()、pages.Login()等等?
如果这适用于站点资源,因为每个文件都包含一个充当该资源的类,那么在其他地方采用以避免长字符串导入是否不合适,还是只会导致头痛?
【问题讨论】: