這個問題經常被新手問,因為大多數教程(包括經典的Flask)
Web development)告訴我們如何使用flask-sqlalchemy來操作sqlite,但是在生產環境(在線網站)中,我們肯定使用MySQL或者its。
他和大多數教程告訴我們flask-sqlalchemy使用MySQL的方式是:
MySQL://username:password @ server/db
結果我們跟著葫蘆畫瓢,發現根本不可能。寫的網站壹接觸數據庫就報錯。
Python和MySQL是“兩個國家的人”,互不相通,需要壹個中介代理來交換需要的商品,就像翻譯壹樣(這個比喻不太準確,但足以讓妳明白意思)。翻譯有很多選擇,不同的翻譯各有特點。
標題
主要解題選擇的翻譯是“flask-mysqldb”,後面的高手是“MySQL-python”。嗯,說到這個,妳應該知道,“flask-xxx”
這樣的包都是適合燒瓶打包的插件。就像包子壹樣,裏面的餡才是重點。“flask-mysqldb”的填充物是“MySQL-
python的.
而我要推薦的是另外壹個翻譯:PyMySQL,這個東西的好處是可以異步(“MySQL-python”也可以,只是個人口味)。簡而言之,如果網站有大量的訪問者,妳需要考慮異步,所以現在不用擔心這個問題。這個東西的安裝方法是:
pip安裝PyMySQL
之後,通過以下方式建立數據庫連接:
MySQL://username:password @ server/db
代替
MySQL+pymysql://username:password @ server/db
去做吧。