当前位置: 首页 > 面试题库 >

提交搜索表单后,无法通过Flask应用从网址检索变量

淳于涛
2023-03-14
问题内容

用户提交搜索表单后,我想展示一个新视图。我以与其他视图相同的方式进行此操作,但不幸的是,这次没有任何反应,我无法从应用程序路线中检索内容。(所以这个问题是不是重复这个我写的东西到表单中的问题,只有提交表单后,它完美的作品在所有其他情况下发生的问题。),提交它,然后在浏览器的URL变化,但视图不会改变。我几乎可以肯定这是因为?and=搜索语句中的内容,但是不知道如何在Python代码中处理它们。

实际上,当我提交表单时,浏览器会将我重定向到这样的网址:

http://domain/.com/?search=content+from+textfield

这就是我试图从搜索字段中捕获内容,并在Flask一侧展示新视图的方式:

@app.route('/?search=<url_content>', methods=['POST'])
def hello_url(url_content): 
return render_template("search-results.html", searchString = url_content])

如果有人可以向我展示正确的方法,我将不胜感激,基本上我只是想在点击搜索按钮后检索函数<url_content>内部的值hello_url

这是我的html:

<form>
 <div class="form-group">
    <input type="search" class="form-control text-center input-lg" id="inputSearch" name="search" placeholder="search">
    </div>
     <br>
<div class="text-center"><button type="submit" class="btn btn-primary btn-lg">Search!</button></div>
</form>

问题答案:

您混淆了使用捕获的url参数和<variable>使用访问的查询参数request.args。从路由定义中删除查询参数,然后在视图中访问它。

from flask import request

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/search')
def search():
    search = request.args.get('search')  # will be None if form wasn't submitted
    # do something with search
    return render_template('search.html', search=search)

index.html

<form action="{{ url_for('search') }}">
    <input name="search"/>
    <input type="submit" value="Search"/>
</form>


 类似资料:
  • 我想从AOP连接点检索一个注释。我能够通过反射获得注释,但无法通过ProcedingJoinPoint获得注释。 我的注释方法 我的绒球

  • 我有以下2类与Hibernate和Hibernate搜索注释: 父类: 儿童班: 我为上述场景创建了一个索引。现在我试图通过搜索给定的父名称来获得所有的子名称。 我在现场使用的投影如下: 现在,当我尝试运行查询来检索搜索结果时,我只得到父模型的第一个孩子的名字。 当我看到使用Luke的索引时,我能够看到文档中的所有值。 如何获取索引中存储的所有子名称列表?

  • 问题内容: 我正在使用两种类型的提交。 有$ .post 它将单独的变量发送到服务器端脚本。 还有一个AjaxSubmit插件可以提交整个表单 但是,现在我有以下任务,假设我有一个表单和一些必须同时提交的变量。 那么可以一起提交表单+一些变量吗? 问题答案: 更新资料 您可以通过以下方式提交: 您可以用来将数组或对象转换为URL友好的名称/值巴黎。您可能还需要使用将表单数据转换为名称- 值巴黎。这

  • 我正在用python开发一个二叉查找树。但是我的检索方法并不像我希望的那样工作。只有当我想检索根节点时,它才返回正确的值,对于所有其他节点,它都不返回任何值。 下面是我的节点类的代码: 我的二叉树代码: 所以Bintree中的最后一个方法为除Root之外的所有值返回Not,但它应该返回节点的值。 填充树:

  • 问题内容: 我想检索几年前/几个月前在Google网络历史记录中出现的旧Google搜索。我如何以编程方式检索它们? https://www.google.com/history/?output=rss仅提供最近的Google搜索,但不是全部。 还有一个问题:如何检索我的Google搜索记录?没有为我的问题提供任何答案! 问题答案: 您可以传递月,日和年作为参数来获取特定日期的历史记录。 例如,2

  • 问题内容: Java中是否有一种方法,只需指定开始索引和结束索引,即可将对象列表从Arraylist获取到另一个ArrayList? 问题答案: 是的,您可以使用以下方法: 这将返回原始列表那部分的视图,它不会复制数据。 如果要复制: