解決flask中文亂碼的問題


from flask import Flask,jsonify
app = Flask(__name__)

#使用jsonify模塊來讓網頁直接顯示json數據
@app.route('/json')
def re_json():
    #定義數據格式
    json_dict={'id':10,'title':'flask的應用','content':'flask的json'}
    #使用jsonify來講定義好的數據轉換成json格式,並且返回給前端
    return jsonify(json_dict)

if __name__ == "__main__":
    app.run()

  

這是源代碼不加任何配置  

運行應是以上結果

有四種解決的途徑:

一:直接加在代碼中

from flask import Flask,jsonify
app = Flask(__name__)
#解決中文亂碼的問題,將json數據內的中文正常顯示
# app.config['JSON_AS_ASCII'] = False
#開啟debug模式
# app.config['DEBUG'] = True

#使用jsonify模塊來讓網頁直接顯示json數據
@app.route('/json')
def re_json():
    #定義數據格式
    json_dict={'id':10,'title':'flask的應用','content':'flask的json'}
    #使用jsonify來講定義好的數據轉換成json格式,並且返回給前端
    return jsonify(json_dict)

if __name__ == "__main__":
    app.run()

  二:從配置文件里來加載配置

首先要添加文件

引入加載文件

 

from flask import Flask,jsonify
app = Flask(__name__)
#從配置文件里來加載配置
app.config.from_pyfile('config.ini')
#使用jsonify模塊來讓網頁直接顯示json數據
@app.route('/json')
def re_json():
    #定義數據格式
    json_dict={'id':10,'title':'flask的應用','content':'flask的json'}
    #使用jsonify來講定義好的數據轉換成json格式,並且返回給前端
    return jsonify(json_dict)

if __name__ == "__main__":
    app.run()

  三:從環境變量來加載配置

首先要設置環境變量,找到文件路徑配置

from flask import Flask,jsonify
app = Flask(__name__)

#從環境變量中來加載配置
app.config.from_envvar('appconfig')
#使用jsonify模塊來讓網頁直接顯示json數據
@app.route('/json')
def re_json():
    #定義數據格式
    json_dict={'id':10,'title':'flask的應用','content':'flask的json'}
    #使用jsonify來講定義好的數據轉換成json格式,並且返回給前端
    return jsonify(json_dict)

if __name__ == "__main__":
    app.run()

  四:從配置對象來加載配置

from flask import Flask,jsonify

class Config(object):
    DEBUG=True
    JSON_AS_ASCII=False

app = Flask(__name__)

#從配置對象來加載配置
app.config.from_object(Config)
#使用jsonify模塊來讓網頁直接顯示json數據
@app.route('/json')
def re_json():
    #定義數據格式
    json_dict={'id':10,'title':'flask的應用','content':'flask的json'}
    #使用jsonify來講定義好的數據轉換成json格式,並且返回給前端
    return jsonify(json_dict)

if __name__ == "__main__":
    app.run()

  以上四種效果如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM