Fix bug with compiled views in compiled-only apps
Compiled views were not being executed in apps containing only compiled files (i.e., generated via the admin "Pack compiled" functionality), resulting in "Invalid view" errors for all pages.
This commit is contained in:
+8
-9
@@ -709,23 +709,22 @@ def run_view_in(environment):
|
|||||||
ccode = getcfs(compiled, compiled, lambda: read_pyc(compiled))
|
ccode = getcfs(compiled, compiled, lambda: read_pyc(compiled))
|
||||||
layer = compiled
|
layer = compiled
|
||||||
break
|
break
|
||||||
if not os.path.exists(filename) and allow_generic:
|
|
||||||
view = 'generic.' + request.extension
|
|
||||||
filename = pjoin(folder, 'views', view)
|
|
||||||
if not os.path.exists(filename):
|
|
||||||
raise HTTP(404,
|
|
||||||
rewrite.THREAD_LOCAL.routes.error_message % badv,
|
|
||||||
web2py_error=badv)
|
|
||||||
|
|
||||||
# if the view is not compiled
|
# if the view is not compiled
|
||||||
if not layer:
|
if not layer:
|
||||||
|
if not os.path.exists(filename) and allow_generic:
|
||||||
|
view = 'generic.' + request.extension
|
||||||
|
filename = pjoin(folder, 'views', view)
|
||||||
|
if not os.path.exists(filename):
|
||||||
|
raise HTTP(404,
|
||||||
|
rewrite.THREAD_LOCAL.routes.error_message % badv,
|
||||||
|
web2py_error=badv)
|
||||||
# Parse template
|
# Parse template
|
||||||
scode = parse_template(view,
|
scode = parse_template(view,
|
||||||
pjoin(folder, 'views'),
|
pjoin(folder, 'views'),
|
||||||
context=environment)
|
context=environment)
|
||||||
# Compile template
|
# Compile template
|
||||||
ccode = compile2(scode, filename)
|
ccode = compile2(scode, filename)
|
||||||
layer = filename
|
layer = filename
|
||||||
restricted(ccode, environment, layer=layer, scode=scode)
|
restricted(ccode, environment, layer=layer, scode=scode)
|
||||||
# parse_template saves everything in response body
|
# parse_template saves everything in response body
|
||||||
return environment['response'].body.getvalue()
|
return environment['response'].body.getvalue()
|
||||||
|
|||||||
Reference in New Issue
Block a user