我正在构建一个web服务,以便人们可以搜索到数据库。可以说我有用户和公司。每个用户和公司都可以被认为是他们的ID。所以,如果你搜索myurl/users/<id>
,你会得到该用户的信息,另一方面,如果你搜索公司/你得到该公司的信息。 为此,我创建了两个简单的输入文本(一个用于用户,另一个用于公司),人们可以输入<id>
。我的问题是,当我从输入文本中得到这个值时,我得到这个myrul/users?<id>
而不是myurl/users/id
。我试图硬编码的斜线,但后来我得到myrul/users/?<id>
。 所以我的问题是如何获得输入文本作为一个网址,而不是一个变量。得到的输入形式不是变量,而是url
我用的烧瓶,所以我的HTML有Jinja2的这样的代码:
<!-- USER id -->
<form method='GET' action={{url_for('get_info_by_id', type_collection='user')}}>
<input type="text" name="my_id"/><input type="submit" value="Go">
</form>
<!-- COMPANY id-->
<form method='GET' action={{url_for('get_info_by_id', type_collection='company')}}>
<input type="text" name="my_id"/><input type="submit" value="Go">
</form>
在我的python脚本(瓶)
@app.route('myurl/<type_collection>/<my_id>')
get_info_by_id(type_collection,my_id):
# search into the database and return info about that id
如果哟您希望将表单变量放在URL中而不是查询字符串或邮件正文中,您需要使用JavaScript来捕获表单提交事件并导航到新的URL。 – dirn
@dirn是正确的,但看看我的答案,如果你只是想让你的表单搜索数据库并返回你的对象。 – dkhamrick
我会通过JavaScript,谢谢。 – Dovi