On this page we read:
If you do not write a view, the dictionary is rendered by
“views/generic.html”
This comment is made with respect to the file default/index.py but the problem is that there is an HTML file default/index.html AND earlier in the text it was stated:
When an action returns a dictionary, web2py looks for a view with the
name[controller]/[function].[extension]
I’m not sure what the question is, but that first statement is not with respect to
default/index.py, which doesn’t exist. Rather, it refers to theindex()function in the default.py controller, which is in the /controllers folder. It is simply stating that if there is no /views/default/index.html view, then the dictionary returned by theindex()function will be rendered by the /views/generic.html view. In other words, web2py will first look for a /views/default/index.html view, and if that view does not exist, it will fall back to /views/generic.html (note, this is only if response.generic_patterns is set appropriately — for more see here).