使用以下内容:
from flask import Flask, render_template
import beautiful_soup_tidal
app = Flask(__name__)
@app.route('/')
def form():
return render_template('form_submit.html')
@app.route('/richmond', methods=['POST'])
def richmond():
someTides = beautiful_soup_tidal.getTides()
return render_template('richmond.html',someTides=someTides)
if __name__ == "__main__":
app.run(debug=True)
尝试渲染以下内容(richmond.html):
<div id="content" class="form-group">
<form method="post" action="/richmond">
<label style="vertical-align: middle;">channel depth at mean low water
<input type="number" step="0.1" value = "34.5" name="channelDepth"/>FEET</label><br><br>
<label style="vertical-align: middle;">required underkeel clearance
<input type="number" step="0.1" value = "2" name="underkeelClearance"/>FEET</label><br><br>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
我收到以下错误:&#39;请求的网址不允许使用该方法。&#39;
如果我删除&#39;,方法= [&#39; POST&#39;]&#39;在第一部分中,模板呈现。
问题:如何使用post方法成功渲染模板?
答案 0 :(得分:0)
我相信这一行还应该包含GET,这样你就可以在实际点击提交发布之前第一次呈现html表单。
@app.route('/richmond', methods=['POST'])
所以它会改为
@app.route('/richmond', methods=['GET', 'POST'])