Flask Template Not found

saviour123 picture saviour123 · Oct 28, 2015 · Viewed 68.1k times · Source

Implementing a simple static site from flask, but the browser says template not found, the shell returned 404

jinja2.exceptions.TemplateNotFound

TemplateNotFound: template.html

The main python code:

from flask import Flask, render_template
app = Flask(__name__)


@app.route("/")
def template_test():
    return render_template('template.html', my_string="Wheeeee!", my_list=[0,1,2,3,4,5])

if __name__ == '__main__':
    app.run(debug=True)

I have the following file structure:

flask_new_practice
|--template/
    |--template.html
|--run.py

Answer

Jeffrey Godwyll picture Jeffrey Godwyll · Oct 28, 2015

By default, Flask looks in the templates folder in the root level of your app.

http://flask.pocoo.org/docs/0.10/api/

template_folder – the folder that contains the templates that should be used by the application. Defaults to 'templates' folder in the root path of the application.

So you have some options,

  1. rename template to templates
  2. supply a template_folder param to have your template folder recognised by the flask app:

    app = Flask(__name__, template_folder='template')