I am trying to port my existing flask app into google app engine. After a lot of reading and solving issues, I came across a problem I am completely stuck with:
Upon starting the app on my local environment, I get this error message:
Short version:
{% extends "base.html" %}
OSError: [Errno 38] Function not implemented
How can this function not be implemented? It is part of flask/jinja2.
Longer version:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
ERROR 2013-06-17 14:26:42,772 app.py:1306] Exception on / [GET]
Traceback (most recent call last):
File "/home/kave/eclipse/F11/Engineering/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/home/kave/eclipse/F11/Engineering/flask/app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/kave/eclipse/F11/Engineering/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/home/kave/eclipse/F11/Engineering/flask/app.py", line 1344, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/kave/eclipse/F11/Engineering/f11_app/views.py", line 28, in index
return render_template('index.html')
File "/home/kave/eclipse/F11/Engineering/flask/templating.py", line 125, in render_template
context, ctx.app)
File "/home/kave/eclipse/F11/Engineering/flask/templating.py", line 107, in _render
rv = template.render(context)
File "/home/kave/eclipse/F11/Engineering/jinja2/environment.py", line 969, in render
return self.environment.handle_exception(exc_info, True)
File "/home/kave/eclipse/F11/Engineering/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/kave/eclipse/F11/Engineering/f11_app/templates/index.html", line 1, in top-level template code
{% extends "base.html" %}
OSError: [Errno 38] Function not implemented
INFO 2013-06-17 14:26:42,799 server.py:593] default: "GET / HTTP/1.1" 500 291
Any idea what this could be? Many thanks
This error appeard because Jinja doesn't know about tag assets
used in template. Second problem is that project supposed to run on GAE with webasset
python library. But by default it is not working, since webassets
need output folder to store compressed static files and it is against GAE hosting logic.
Solution is simple: don't use webassets
in realtime and compress static files before upload to GAE.