为什么我的路由不起作用?
当我访问 /home/index 时,路由可以正常工作。
但是当我输入 /home/test 时,它就不行了。
这里到底出了什么问题,我很困惑!
我在代码里引入了日志记录的功能。
然后从 pylons 框架中引入了一些东西,比如请求、响应、会话、模板上下文和网址。
还引入了一些控制器的工具,比如中止和重定向。
我还从一个叫 helloworld 的库中引入了基本控制器和渲染功能。
我创建了一个日志记录器。
接着我定义了一个叫 HelloController 的控制器,它继承自 BaseController。
def index(self):
# Return a rendered template
#return render('/hello.mako')
# or, return a string
return 'Hello World from index() action!'
def test(self):
return 'blah'
然后我遇到了这个错误:
WebError Traceback:
⇝ NotImplementedError: Action u'test' is not implemented
View as: Interactive | Text | XML (full)
URL: http://127.0.0.1:5000/hello/test
Module weberror.evalexception:431 in respond view
>> app_iter = self.application(environ, detect_start_response)
Module beaker.middleware:152 in __call__ view
>> return self.wrap_app(environ, session_start_response)
Module routes.middleware:131 in __call__ view
>> response = self.app(environ, start_response)
Module pylons.wsgiapp:107 in __call__ view
>> response = self.dispatch(controller, environ, start_response)
Module pylons.wsgiapp:312 in dispatch view
>> return controller(environ, start_response)
Module helloworld.lib.base:15 in __call__ view
>> return WSGIController.__call__(self, environ, start_response)
Module pylons.controllers.core:211 in __call__ view
>> response = self._dispatch_call()
Module pylons.controllers.core:168 in _dispatch_call view
>> action)
NotImplementedError: Action u'test' is not implemented
1 个回答
2
仔细检查一下你的缩进。如果def test(self)和类的缩进在同一水平上,你就不会遇到缩进错误。
下面这个会出现缩进错误:
class HelloController(BaseController):
def index(self):
return "hello from index()"
def test(self):
return "blah"
而这个就不会:
class HelloController(BaseController):
def index(self):
return "hello from index()"
def test(self):
return "blah"