gpt4 book ai didi

python - render_template() 恰好接受 1 个参数

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:04 25 4
gpt4 key购买 nike

我在为以下 View 单击提交时收到 500 错误。为什么会出现此错误以及如何解决?

from flask import Flask, render_template
from flask import request, jsonify

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def homepage():
if request.method == 'POST':
f1 = request.form['firstVerb']
f2 = request.form['secondVerb']
return render_template('index.html', f1, f2)
return render_template('index.html')

if __name__ == "__main__":
app.run();
<form class="form-inline" method="post" action="">
<div class="form-group">
<label for="first">First word</label>
<input type="text" class="form-control" id="first" name="firstVerb">
</div>
<div class="form-group">
<label for="second">Second Word</label>
<input type="text" class="form-control" id="second" name="secondVerb" >
</div>
<button type="submit" class="btn btn-primary">Run it</button>
</form>

{{ f1 }}
{{ f2 }}

最佳答案

首先,当您收到 500 错误时,您应该考虑以 Debug模式运行应用程序。您正在构建此应用程序并在调试时打开此应用程序以向您展示发生错误时发生的情况非常有用。

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

现在这会让你更兴奋:

127.0.0.1 - - [08/Jul/2015 14:15:04] "POST / HTTP/1.1" 500 -
Traceback (most recent call last):
...
File "/tmp/demo.py", line 11, in homepage
return render_template('index.html', f1, f2)
TypeError: render_template() takes exactly 1 argument (3 given)

这是你的问题。您应该引用 render_template 的文档并看到它实际上只接受一个位置参数(模板名称),但其余参数(在 **context 中)必须作为关键字参数提供。否则将没有对模板中引用的变量的引用,因此将该调用修复为:

    return render_template('index.html', f1=f1, f2=f2)

将向模板提供正确的 f1f2,从而解决手头的问题。

为了将来引用,这些问题可以通过阅读 Flask documentation 来解决。 .另外请go through this entire Flask tutorial帮助您掌握此框架的基础知识。

关于python - render_template() 恰好接受 1 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31282297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com