65

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
saviour123
  • 1,095
  • 2
  • 13
  • 21

1 Answers1

156

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')
    
Jeffrey Godwyll
  • 3,787
  • 3
  • 26
  • 37