Flask render_template

New to Flask and have some experience with python, when using render_template it simply does not render the template as well as not giving out any errors. Code Here:

from flask import Flask, render_template

app = Flask(__name__, template_folder= "/templates")




@app.route("/")
def index():
        #return("Index str")
    return render_template("index.html")


@app.route("/crawler")
def crawler():
    return("WebCrawler str")
    return render_template("crawler.html")

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

HTML here (pretty certain file hierarchy is correct).

<!DOCTYPE html>

<html lang="en">
    <head>
        <link rel="stylesheet" type="text/css" href="{{url_for('static', filename='style.css')}}">
        <meta charset = "utf-8">
        <title> Index</title>
    <head>
    <body>
        <p> This webserver hosts all webapps and will showcase any unfinished applications.
            </p>

        </body>

</html>

root virtual environment

static for css

templates folder

2 answers

  • answered 2017-06-17 18:20 Raja Simon

    By default Flask template_folder set to templates. If you wish to change it then mention folder in the root path of the application.

    It't not necessary when templates folder but it's should be...

    app = Flask(__name__, template_folder= "templates")
    

  • answered 2017-06-17 18:20 Ash Pereira

    The default folder for the HTML files is templates. So create a folder called "templates" where your python file is located. Put any HTML files in that folder