我试图在我的Flask应用中使用render_template
:
# -*- coding: utf-8 -*-
from flask import Flask, render_template, redirect, url_for, request
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello World", 200
@app.route('/welcome')
def welcome():
return render_template("welcome.html")
@app.route("/login", methods=["GET", "POST"])
def login():
error = None
if request.method == "POST":
if request.form["username"] != "admin" or request.form["password"] != "admin":
error = "Invalid credentials. Please try again!"
else:
return redirect(url_for("home"))
return render_template("login.html", error=error)
app.run(debug=True)
我认为我的应用无法看到welcome.html
(以及模板文件夹),因为我总是得到一个"内部服务器错误"没有HTML页面。
在单个文件夹中,我有app.py
静态文件夹和模板文件夹(带有HTML文件)。
这里有什么问题?
答案 0 :(得分:0)
您可能不需要模板名称中的/
。
(即'welcome.html'
,而非'/welcome.html'
)。
请参阅documentation了解render_template。
答案 1 :(得分:0)
答案 2 :(得分:0)
你的python脚本是否具有最小Flask应用程序的所有必要位?
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/welcome')
def welcome():
return render_template("/welcome.html")
if name== "__main__":
app.run()