python - Flask - 表单 - 蓝图
问题描述
在最简单的情况下,我会在这样的 html 文件中创建以下表单:
<form action="/do_this" method ="POST">
并且该操作将执行该函数在 app.py 文件中所做的任何事情。
我现在深入蓝图,我只想以像上面这样的简单方式设置表单操作,但我不知道如何引用某个 .py 文件,然后引用其中的函数。
任何指针?
解决方案
你应该使用url_for()
.
在这种情况下,你会这样做:
<form action="{{ url_for('your_blueprint.do_this') }}" method="POST">
在蓝图设置中我感兴趣的步骤是此示例中的最后一行:
from flask import Flask
from yourapplication.your_blueprint import your_blueprint
app = Flask(__name__)
app.register_blueprint(your_blueprint) # hook your blueprint to your app
Flask 被指示在哪里可以找到你的蓝图函数。
与这个特定问题无关,但我刚刚了解到的是,如果您处于操作将要执行的蓝图中,您可以在 URL 前面加上.
快捷方式,例如:
<form action="{{ url_for('.do_this') }}" method="POST">
推荐阅读
- drupal - 如何使用 PhpStorm 直接在服务器上工作?
- sql - 谁能告诉我为什么我的表字段引用不适用于此触发器查询?
- javascript - 得到一个包含 2 个对象的数组。每个对象都有一个属性“事件”,其中包含一个对象数组。如何过滤participantId不为1的元素?
- python - 返回文件名,但通配符已解析
- python - Python 列表到嵌套的 Json
- flutter - 颤振未处理的异常:SocketException:操作系统错误:连接被拒绝,errno = 111
- gradle - 如何解决:Android Gradle 插件仅支持 Kotlin Gradle 插件版本 1.3.10 及更高版本。?
- r - R Plotly 密度图参数“x”必须是数字
- openssl - 使用 openssl 验证 ECDSA 签名类型时 ASN1 编码例程错误
- python - 在 python 中为 insert() 编写一个更快的实现