【发布时间】:2019-06-20 21:33:34
【问题描述】:
我有来自主页的 POST 请求,用户将公司名称提交到 HTML 表单中。我还使用名为 company_bp 的 Flask 蓝图。
<form action="{{ url_for('company_bp.company') }}" class="search_form" method="post">
<input type="text" id="search_input" placeholder="Name" name="company_name" autocomplete="off">
<input type="submit" value="research">
<ul id="search_list">
</ul>
</form>
当我从 HTML 表单中获得 company_name 时,我想使用它在数据库中的 id 为该特定公司动态构建一条路线,而不是我从表单中获得的名称。
@company_bp.route('/<company_id>',methods=['POST'])
def company(company_id):
if request.method=='POST':
我收到错误消息,提示我需要在 HTML 表单中提供 company_id:
{{ url_for('company_bp.company', company_id=company_id) }}
我不明白在哪里以及如何将公司 ID 分配给变量 company_id。我通过 javascript 从 DB 请求中获得了 ID 和公司名称,但不清楚如何将该 ID 放入正确的变量中。
=====已更新
我已更新 html 文件以通过添加一行 name="company_id" 来更改表单:
<form action="{{ url_for('company_bp.company', company_id=company_id) }}" class="search_form" id="search_form" method="post">
<input type="text" id="search_input" placeholder="Name" name="company_name" autocomplete="off">
<input type="hidden" name="company_id" id="co_id">
<input type="submit" value="research">
</form>
当我检查 html 表单时,我看到了 id - 1456。但是,当我提交表单时,我收到错误 The requested URL was not found on the server,并且POST 没有构建正确的 url 应该是 company/1456,但只有构建company/ 部分。
【问题讨论】:
标签: javascript python-3.x forms flask