Flask - Как перенаправить на ту же вкладку начальной загрузки, откуда пришел запрос? - PullRequest
0 голосов
/ 03 января 2019

Моя веб-страница имеет несколько вкладок, а третья вкладка имеет форму.

Я хочу отобразить результат формы на той же вкладке.

Я пытался 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...