Python 如何从Flask应用程序的base.html中的搜索表单提交数据?
我希望在导航栏中有一个搜索表单,它“包含”在我的base.html模板中。这意味着可以从扩展自base.html的任何模板中填写和提交搜索栏。结果将显示在我的索引页面上,因此一旦提交表单,表单数据应重定向到我的索引路径,并最终传递到index.html模板 我认为通过创建@app.context_处理器函数,在上下文处理中可能实现这一点,但我还没有找到很多关于它的文档,特别是使用flask。上下文处理可以用于这类事情,还是更适合于将全局变量返回到模板中Python 如何从Flask应用程序的base.html中的搜索表单提交数据?,python,flask,Python,Flask,我希望在导航栏中有一个搜索表单,它“包含”在我的base.html模板中。这意味着可以从扩展自base.html的任何模板中填写和提交搜索栏。结果将显示在我的索引页面上,因此一旦提交表单,表单数据应重定向到我的索引路径,并最终传递到index.html模板 我认为通过创建@app.context_处理器函数,在上下文处理中可能实现这一点,但我还没有找到很多关于它的文档,特别是使用flask。上下文处理可以用于这类事情,还是更适合于将全局变量返回到模板中 如果可以,我需要做什么来设置它?表单标记中
如果可以,我需要做什么来设置它?
表单
标记中的操作
属性可以定义将数据发布到搜索表单中的哪个视图。然后,视图本身可以处理数据并重定向
# base.html
<form action="{{ url_for('index') }}" method="post">
...
</form>
表单
标记中的操作
属性可以定义将数据发布到搜索表单中的哪个视图。然后,视图本身可以处理数据并重定向
# base.html
<form action="{{ url_for('index') }}" method="post">
...
</form>
谢谢你,浣熊。我想我仍然需要一个上下文处理器来实例化表单,对吗?由于我没有在我的routes
render_template('base.html',form=form)
中的任何地方写入内容,我如何从基本模板访问表单对象?如果表单可用,可以在基本模板中添加条件标记来呈现表单<代码>{%if搜索表单%}{{Render搜索表单}{%endif%}。从基本模板呈现的任何模板都可以传入可选的搜索表单
!我在routes.py中使用了before_request函数,并将flask中的g变量设置为g.searchform=searchform()
。我按照你说的方式安排了行动。然后把每一个“表单”引用都切换到“g.searhform”。现在一切都好了!谢谢@raccoonsThanks@raccoons。我想我仍然需要一个上下文处理器来实例化表单,对吗?由于我没有在我的routesrender_template('base.html',form=form)
中的任何地方写入内容,我如何从基本模板访问表单对象?如果表单可用,可以在基本模板中添加条件标记来呈现表单<代码>{%if搜索表单%}{{Render搜索表单}{%endif%}。从基本模板呈现的任何模板都可以传入可选的搜索表单
!我在routes.py中使用了before_request函数,并将flask中的g变量设置为g.searchform=searchform()
。我按照你说的方式安排了行动。然后把每一个“表单”引用都切换到“g.searhform”。现在一切都好了!谢谢你,浣熊