Flask render_template

时间:2017-06-17 18:20:23

标签: html python-2.7 flask

Flask的新手并且对python有一些使用经验,当使用render_template时,它根本不呈现模板,也不会发出任何错误。 代码在这里:

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(相当确定的文件层次结构是正确的)。

<!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

3 个答案:

答案 0 :(得分:3)

HTML文件的默认文件夹是模板。因此,创建一个名为“templates”的文件夹,其中包含python文件。将任何HTML文件放在该文件夹中

答案 1 :(得分:1)

默认情况下,Flask template_folder设置为templates。如果您想更改它,请在应用程序的根路径中提及文件夹。

templates文件夹中没有必要,但它应该是......

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

答案 2 :(得分:0)

from flask import Flask, render_template

app = Flask(__name__, template_folder= "templates")
@app.route("/")
def index():
    return render_template('/index.html')

此代码可能有效..