这对我来说绝对是一个新领域,我只是对这项工作的看法感到困惑
Flask服务器
$ more flask-hello-world.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return render_template('index.html') #"Hello World!"
if __name__ == "__main__":
app.run()
的index.html
$ more index.html
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>untitled</title>
</head>
<body>
Hello worlds
</body>
</html>
测试
$ curl 127.0.0.1:5000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
当我return "Hello World!"
它确实正常工作时。我尝试return render_template('index.html')
时为什么会收到错误?
答案 0 :(得分:3)
首先,您应该BFG Repo Cleaner,因此您会看到有意义的错误,而不是固定的 HTTP 500内部服务器错误。
app.run(debug=True)
或
render_template
从您的源代码中我发现您尚未导入from flask import Flask, render_template
# The rest of your file here
这至少是一个问题,请修复:
templates
模板名称和目录
有一个参数turn on debugging for your Flask app
您可以使用告诉Flask在哪里查找模板。根据链接文档,该值默认为templates
,这意味着默认情况下,Flask会在名为app = Flask(__name__, template_folder='.') # '.' means the current directory
的文件夹中查找模板。因此,如果您的模板位于项目根目录而不是文件夹,请使用:
E.g。如果您的模板位于同一目录中,则为app:
a[(j*nlocal_rows + i)].dr = mat_els[full_row * m + full_col];
a[(j*nlocal_rows + i)].di = 0.0;
答案 1 :(得分:1)
您需要将模板放在app = Flask(__name__, template_folder='.')
文件夹中,或者将其放入:
.css()