Jinja2 url_for蓝图功能

时间:2016-12-27 00:30:24

标签: python flask jinja2

晚上好, 我正在开发Flask-Python Web应用程序,但是我在实现搜索路径时遇到了一些麻烦。 这是我的 html表单

 <!-- Buttons -->
        <ul class="nav navbar-nav navbar-right">
          <li><a href="/about"><span class="glyphicon glyphicon-plus"></span> About</a></li>
          {% if not g.user.is_authenticated %}
          <li><a href="/signup"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
          <li><a href="/login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
          {% endif %}
          <form class="navbar-form navbar-left">

          <!-- Search -->
          <li>
          <form class="form-inline" method="GET" action="{{ url_for('home.search') }}">
              <div class="form-group">
                  <input type="text" class="form-control" name="query" id="query">
              </div>
              <button type="submit" class="btn btn-primary">Search</button>
          </form>
          </li>

          </form>
          {% if g.user.is_authenticated %}
          <li><a href="/logout"><span class="glyphicon glyphicon-log-out"></span> Logout</a></li>
          {% endif %}
        </ul>

我的搜索功能:

@home_blueprint.route("/search/")
@login_required
def search():

    results = Politic.query.whoosh_search(request.args.get('query')).all()
    #results = Politic.query.whoosh_search(query).all()
    for p in results:
        print p.publicName
    print results
    return render_template('search_results.html',
                           results=results)

当我在我的应用上搜索时,我会收到以下网址:

  

http://localhost:5000/home?query=Peter

当我想要这个时:

  

http://localhost:5000/search?query=Peter

我使用了url_map函数来查看一切是否正常,它实际上看起来不错:

<Rule '/search/' (HEAD, OPTIONS, GET) -> home.search>,

我在很长一段时间内都在努力解决这个问题,似乎没有任何错误。任何可能的帮助?

此致

0 个答案:

没有答案