2016-01-12 52 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和查詢傳遞給某個爲您查找正確查詢的函數。 –