Flask入門(三)~補充及虛擬環境
上篇文章中有幾個點不全面,在這裡補充幾點以及入門的幾個小方法:
上篇文章中使用jsonify模組讓網頁直接顯示json資料,返回的是二進位制碼,
如何解碼呢?以及開啟debug的幾個小方法:
程式碼如下:
方法一:
在py檔案中配置
# #解決中文亂碼問題,將json資料內的中文正常顯示
# app.config['JSON_AS_ASCII']=False
# 開啟debug模式
# app.config['DEBUG']=True
方法二:
從配置檔案中載入配置,首先我們要建立一個配置檔案如config.iti
# 從配置檔案中載入配置 # app.config.from_pyfile('config.ini')
方法三:
建立一個配置檔案的類
#建立一個配置類
class Config(object):
DEBUG=True
JSON_AS_ASCII=False
#直接呼叫這個類名
app.config.from_object(Config)
方法四:
從環境變數中載入配置,首先新建一個環境變數 :
計算機 — 屬性 —高階系統設定—環境變數—新建:
第一行為配置檔名,第二行為專案中配置檔案的絕對路徑:如配置檔名為 app_config
app.config.from_envvar('app_config')
#注意:檔案目錄名為str
我們訪問網頁傳送請求有很多方法比如:post get 等
#使用jsonify模組讓網頁直接顯示json資料
@app.route('/json',methods=['POST'])
#這裡也可以同時寫多個請求方法
def re_json():
#定義好資料格式
json_dict={'id':10,'title':'flask的應用','content':'flask的json格式'}
#使用jsonify來將定義好的資料轉換成json格式,並返回給前端
return jsonify(json_dict)
但我們經常在傳送請求和訪問網頁的時候丟擲404 405 500 這樣的錯誤,我們如何解決並捕獲異常呢?
如下:
捕獲405的異常
@app.errorhandler(405) def internal_sever_error(e): return '這個介面不能被get請求到,只能發生post請求' #這裡為了給使用者更好的體驗,進行友情提示,我們把捕獲到的錯誤用return返回
捕獲404的異常
@app.errorhandler(404)
def internal_server_error_one(e):
return '網頁已被刪除或不存在'
#這裡也一樣為了給使用者更好的體驗,我們把捕獲到的錯誤用return返回
捕獲500的異常
@app.errorhandler(500)
def internal_server_error(e):
return '伺服器搬家了'
當然,我們也可以捕獲其他的異常,並且丟擲異常。
如果我們沒有接觸過網路程式設計,也想去傳送請求,訪問網址,有沒有方法呢?
下面給大家推薦個人認為挺好的一款軟體postman 這是一款功能很強大的軟體,一般用於開發中測試使用,
大家可以百度搜索瞭解瞭解,喜好的可以下載使用(當然只是個人感覺挺好的一款軟體)
在開發的過程中,如果兩個開發專案版面不相容,如python2.0與python3.0,我們如何解決呢?
虛擬環境:
虛擬環境是為了給專案提供獨立的安裝環境,防止多專案依賴衝突:
虛擬環境安裝
pip install virtualenv
進入專案安裝虛擬目錄
virtualenv venv
進入命令目錄
cd ./venv/Scripts
啟用虛擬環境
activate
注意:在這裡我們如果發現啟用虛擬環境失敗,我們可以看看自己的路徑是否帶有中文名,如果有中文名我們可以用:
virtualenv --no-setuptools --no-pip --no-wheel venv
在開發的過程中 我們的檔名和路徑儘量不要使用中文,最好不要使用中文,
使用中文檔名和路徑在以後的開發中經常會才出現你意想不到的錯誤
離開虛擬環境
deactivate
一句話送給大家:
少而好學,如日出之陽;壯而好學,如日中之光;老而好學,如炳燭之明。