2016-01-12 54 views
-1

您好,我正在关注本教程 http://ampersandacademy.com/tutorials/flask-framework-ajax-autocomplete/ 通过mysql数据库自动完成一些文本框。然而,本教程展示了如何以一种非常静态的方式自动完成仅一个文本框。我需要我的网站拥有多个文本框,并从数据库的不同表中获取自动完成选项。我不想为每个文本框单独使用jquery代码和@ app.routes,而是希望使此代码成为动态的,以处理从不同文本框到数据库中不同表的所有查询。来自mysql数据库的Ajax jquery自动完成,瓶框架

回答

1

你问的是绝对可能的,但我不确定你的问题到底是什么,或者你有什么问题。

我会注意,但是,该示例具有可以直接插入任意用户提交的字符串转换为SQL查询这是令人难以置信的不安:https://www.owasp.org/index.php/SQL_Injection

我会建议利用一些Python库,以帮助你的数据库用法 - SQLAlchemy(通过Flask-SQLAlchemy)可能是最常见的,也是最好的之一。

+0

彼得谢谢你的回答。对于我的项目,我需要通过我的数据库自动完成下拉文本框。在本教程中,它向您展示了如何连接到数据库和所有内容,但是当我尝试添加第二个文本框时,我无法查询相应的表。我可以添加另一个@ app.route来获取参数,但是因为网站中会有很多文本框,所以它不能很好地扩展。我已经看到了sqlalchemy文档,但没有看到明确的解决这样一个简单而常见的任务。 – PetrosM

+0

那么你可以通过一个表单中的多个项目。例如,您可以将表单名称设置为“国家/地区”或其他任何表示您想要的查询。然后在烧瓶中,您可以使用query_name = request.form ['name']和query = request.form ['query']。然后,将query_name和查询传递给某个为您查找正确查询的函数。 –