Flask-如何从请求来源重定向到同一引导标签?

时间:2019-01-03 16:01:04

标签: python flask

我的网页上有多个标签,第三个标签具有表格。

我想在同一选项卡上显示表单的结果。

我尝试了render_template,但是它刷新到第一个标签。 我尝试重定向url_for,但它再次刷新到第一个标签。 在阅读_anchor之后,我也尝试过,但是没有用。

我需要帮助以了解我在做什么错吗?

site.html

<div>
  <ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#tab1">TAB1</a></li>
    <li><a data-toggle="tab" href="#tab2">TAB2</a></li>
    <li><a data-toggle="tab" href="#tab3">TAB3</a></li>
  </ul>
  <div class="tab-content">
    <div id="tab1" class="tab-pane fade">
      <p>This is tab1</p>
    </div>
    <div id="tab2" class="tab-pane fade">
      <p>This is tab2</p>
    </div>
    <div id="tab3" class="tab-pane fade">
      <form action="/region/site" method='POST'>
        <input type="text" name="site_name">
        <input type="submit" value="Submit">
      </form>
      <p>Result:</p>
      {% if result %}
      <p>{{result}}</p>
      {% endif %}
    </div>
  </div>
</div>

我的烧瓶含量

@app.route('/region/site', methods=['GET','POST'])
def get_site():
    result = None
    if request.method == 'POST':
        site = request.form.get('site_name')
        if site:
            result = myfunction(site) ### This func returns a table
        else:
            result = 'Input needed'
        return redirect(url_for('get_site', _anchor='tab3', result=result))
    return render_template('site.html', result=result)

0 个答案:

没有答案