我正在尝试让我的一个麻烦的 python 应用程序工作。我刚刚通过@unutbu here的帮助克服了一个问题。
我的下一个问题是有点奇怪,堆栈跟踪显示与我的代码无关:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/web.py-0.37-py2.7.egg/web/application.py", line 239, in process
return self.handle()
File "/usr/local/lib/python2.7/dist-packages/web.py-0.37-py2.7.egg/web/application.py", line 230, in handle
return self._delegate(fn, self.fvars, args)
File "/usr/local/lib/python2.7/dist-packages/web.py-0.37-py2.7.egg/web/application.py", line 419, in _delegate
cls = fvars[f]
KeyError: u'Home'
我调用 web.py 函数的唯一脚本是:
#Application/App.py
import web
class AppInstance(object):
def __init__(self):
from Views import Home
self.urls = (
"/", "Home",
)
self.app = web.application(self.urls, globals())
def run(self):
self.app.run()
这个人从文件系统中的上层目录的脚本中调用:
#start.py
from Application import App
app = App.AppInstance()
app.run()
如果你愿意,我可以从我上面提到的问题中复制目录布局的外观,但我现在不这样做,因为它会在这里造成很多混乱(树命令的输出)。我的问题是:如何通过对目录结构的最小更改来解决此问题?
我认为添加应用程序的目录结构应该有助于那些想要帮助/可能会阅读本文以解决他们自己的问题的人。
Blog/
├── Application/
│ ├── App.py
│ └── __init__.py
|
├── Engine/
│ ├── Connection/
│ │ ├── __init__.py
│ │ └── MySQLConnection.py
│ ├── Errors.py
│ └── __init__.py
├── __init__.py
├── Models/
│ ├── BlogPostModel.py
│ └── __init__.py
├── start.py
└── Views/
├── Home.py
└── __init__.py
这件事刚刚开始,旨在提供一个博客引擎,并帮助我实现我今天学到的东西,以获得完整和有用的东西。