我正在使用/favicon.ico 和 /robots.txt URL的食谱说明并看到一些奇怪的东西。我正在添加路线add_route
:
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
# ....
config = Configurator(settings=settings)
config.add_static_view('public', 'public', cache_max_age=3600)
config.add_route('favicon.ico', '/favicon.ico')
config.add_route('robots.txt', '/robots.txt')
config.add_route('home','/{id}') #don't worry about this one
config.scan()
return config.make_wsgi_app()
并像这样定义视图:
@view_config(name='favicon.ico')
def favicon_view(context, request):
return _fi_response
@view_config(name='robots.txt')
def robotstxt_view(context, request):
return _robots_response
根据上述链接中的说明在何处创建_fi_response
和创建。_robots_response
可悲的是,当我转到我的一个页面时,没有 favicon 并且转到localhost:6544/favicon.ico
,它会导致 404。奇怪的是,当我打开所有调试时,我看到了这个:
2012-10-13 21:38:50,437 DEBUG [trosted][Dummy-5] route matched for url http://localhost:6544/favicon.ico; route_name: 'favicon.ico', path_info: u'/favicon.ico', pattern: '/favicon.ico', matchdict: {}, predicates: ''
2012-10-13 21:38:50,438 DEBUG [trosted][Dummy-5] debug_notfound of url http://localhost:6544/favicon.ico; path_info: u'/favicon.ico', context: <pyramid.traversal.DefaultRootFactory instance at 0x102b6a7a0>, view_name: u'', subpath: (), traversed: (), root: <pyramid.traversal.DefaultRootFactory instance at 0x102b6a7a0>, vroot: <pyramid.traversal.DefaultRootFactory instance at 0x102b6a7a0>, vroot_path: ()
这让我认为网站图标是由一个进程而不是另一个进程找到的。想知道是否有人对我做错了什么有任何想法。