Python 为什么不是';是否将根路径路由到我的视图?
如何将根路径(即,Python 为什么不是';是否将根路径路由到我的视图?,python,python-3.x,pyramid,Python,Python 3.x,Pyramid,如何将根路径(即,/)路由到视图?这是我的简单设置: import sys import wsgiref.simple_server from pyramid.config import Configurator from pyramid.response import Response from pyramid.view import view_config def main(argv): # Create Application. with Configurator()
/
)路由到视图?这是我的简单设置:
import sys
import wsgiref.simple_server
from pyramid.config import Configurator
from pyramid.response import Response
from pyramid.view import view_config
def main(argv):
# Create Application.
with Configurator() as config:
app = config.make_wsgi_app()
# Serve HTTP requests.
server = wsgiref.simple_server.make_server('localhost', 8080, app)
server.serve_forever()
return 0
@view_config(name='')
def page(request):
return Response("Root")
if __name__ == '__main__':
sys.exit(main(sys.argv))
当我请求http://localhost:8080/
,我刚收到404的回复。从日志中:
127.0.0.1 - - [14/Apr/2018 09:14:50] "GET / HTTP/1.1" 404 153
答复机构:
404找不到
404找不到
找不到资源。
我正在运行Python 3.5和Pyramid 1.9.1。看起来您忘记调用
config.scan()
,它添加了您用@view\u config
注释的路由:
import sys
import wsgiref.simple_server
from pyramid.config import Configurator
from pyramid.response import Response
from pyramid.view import view_config
def main(argv):
# Create Application.
with Configurator() as config:
config.scan() # adds routes configured with the decorator
app = config.make_wsgi_app()
# Serve HTTP requests.
server = wsgiref.simple_server.make_server('localhost', 8080, app)
server.serve_forever()
return 0
@view_config(name='')
def page(request):
return Response("Root")
if __name__ == '__main__':
sys.exit(main(sys.argv))
根据:
仅仅存在@view\u配置装饰器并不足以执行视图配置。decorator所做的只是用配置声明“注释”函数,而不是处理它们。要使Pyramid处理Pyramid.view.view\u配置声明,必须使用Pyramid.config.Configurator的扫描方法