Py和Python新手。我正在尝试使用金字塔配置器扫描来查找我的视图,但我似乎遗漏了一些东西,它没有拿起我的“视图”index
这里是我的文件:
app.py
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
if __name__ == '__main__':
config = Configurator()
config.add_route('home', '/')
config.scan()
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 6543, app)
server.serve_forever()
和index.py
from pyramid.view import view_config
from pyramid.response import Response
@view_config(route_name='home')
def index(request):
print'Incoming request'
return Response('<body><h1>Home</h1></body>')
它返回404.但是,如果我删除config.scan()
并手动添加视图,它可以正常工作。
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from index import index
if __name__ == '__main__':
config = Configurator()
config.add_route('home', '/')
config.add_view(index, route_name='home')
答案 0 :(得分:0)
来自Pyramid文档
scan(package = None,categories = None,onerror = None,ignore = None,** kw)[source] 扫描Python包及其任何子包,以查找标记有配置修饰的对象,例如pyramid.view.view_config。找到的任何修饰对象都会影响当前的配置状态。
package参数应该是Python包或模块对象(或者是指代这样的包或模块的虚线Python名称)。如果package为None,则使用调用者的包。在这种情况下,它正在app app或app.py文件中查找装饰。
要修复此添加
config.scan(package='index')
或将app.py
重命名为__init__.py