flask有個很人性化的處理就是 你的錯誤的輸出是可以通過錯誤日志來自定義 ,讓你輸入的錯誤不再是“大黃頁”,
通過 errorhandler()來裝飾函數之后你的所有的輸入錯誤的函數你都會進入這個函數中,然后我沒可以自定義錯誤日志的輸出
errorhandler("報錯響應碼")
@app.errorhandler(404) #當報錯是404的時候就走這個函數 def handle_bad_request(e): # return 'bad request!', 400 return "url錯誤"
register_error_handler() 管理注冊出錯
Flask使用SQLAlchemy進行連接
首先安裝SQLAlchemy
python3環境下直接安裝
pip3 install mysqlclient 如果下載不成功就要指定版本
eg:
python3 -m pip install mysqlclient==1.3.12 # 指定下載1.3.12版本 可以先去官網查查版本
然后我們進行導入連接
from flask_sqlalchemy import SQLAlchemy #導入SQLALChemy app = Flask(__name__) #配置數據庫連接 app.config['SQLALCHEMY_DATABASE_URL'] = "mysql+pymysql:root:123456@127.0.0.1/mysql" #連接你的mysql數據庫 我的數據庫的名字是root密碼是123456 db = SQLAlchemy(app)
你的連接之后要在界面中的使用
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1:3306/db2' # app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True db = SQLAlchemy(app) #初始你的db變量 app.config.from_object(Settings) #接收你的配置文件 app.config.from_object(UrlManage) @app.route("/api/hello") def hello(): from sqlalchemy import text #導入text sql = text("select * from study")#查詢study表 result = db.engine.execute(sql)# 執行這個語句 for row in result: app.logger.error(row) return "hello world"
flask-sqlacodegen
依賴mysqlclient
這是一個可以生成你的flask和數據庫鏈接的表,當你的數據庫中的字段創建完畢之后 然后再通過這個就可以生成類似於django的model表中信息一樣
在使用的時候如果是本地的數據庫就是127.0.0.1,如果是外部的就要把數據庫權限設置允許外部鏈接,要下載mysqlclient模塊才可以使用,並且如果四python3必須要使用pymysql結合才能連接數據庫 而python2是需要mysqldb模塊並且保存的文件目錄也要建立好
flask-sqlacodegen mysql+pymysql://數據庫賬戶:數據庫密碼@要鏈接的ip/鏈接表 --tables user --outfile 存儲的目錄 --flask
# 從118.25.239.20下的food_db的數據庫中把user表的數據生成到項目中的common/model.py文件中
flask-sqlacodegen mysql+pymysql://root:123456@118.25.239.20/food_db --tables user --outfile common/model.py --flask
#
flask-sqlacodegen mysql+pymysql://root:123456@118.25.239.20/food_db --tables member --outfile common/models/member/member.py --flask