文章内容

2020/11/25 16:13:38,作 者: 黄兵

Flask init,flask 初始化

最近在使用qqwry-py3的时候,需要初始化,一直没有找到flask中初始化的方法,最后经过摸索,终于搞定,代码如下:

from qqwry import QQwry

app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False


def set_app():
wry = QQwry()
ip_data_path = os.path.join(os.getcwd(), 'ip_data\\qqwry.dat')
if os.path.exists(ip_data_path):
if wry.is_loaded():
return wry
else:
# 如果没有加载数据,首先加载
wry.load_file(ip_data_path, loadindex=True)
return wry


wry = set_app()

@app.route('/location/<string:ip>')
def location(ip):
get_location_str = wry.lookup(ip)
if get_location_str is None:
return jsonify({'result': False})
else:
get_country = get_location_str[0]
get_city = get_location_str[1]
return jsonify({'result': True, 'country': get_country, 'city': get_city})


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

只要运行一次,就不需要每次调用set_app函数了,这样就大大加快了程序执行速度。


参考资料:

1、Preserving global state in a flask application [duplicate]


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Flask init,flask 初始化

国家省市数据库
IPv6最大长度
分享到:

发表评论

评论列表