Flask框架基础篇(一)
Flask是一个使用Python语言编写的轻量Web开发级框架--"麻雀虽小,五脏俱全"。flash两大核心: 基于Werkzeug的路由模块,基于Jinja2模板引擎。
中文文档:http://docs.jinkan.org/docs/flask/
虚拟环境配置参照中文文档:
下面通过在代码里面介绍一些基础知识点:
from flask import Flaskfrom flask import requestfrom flask import jsonifyfrom flask import redirect, url_forfrom werkzeug.routing import BaseConverterapp = Flask(__name__)# 1.通过配置文件加载,加载debug# 需要在当前路径下新建config.ini文件 内容为 DEBUG=True# app.config.from_pyfile('config.ini')# 2.从配置对象中加载# class Config(object):# DEBUG = True# app.config.from_object(Config)# 3.直接在run()中传入参数debug=True# 欢迎首页@app.route('/')def index(): return "<h2>Hello friend<br>This is first Flask</h3>"# 带参数路由传递,将输入的地址打印到页面# @app.route('/user/<name>')# def user(name):# return '<h3>hello,%s!!</h3>' % name# 设置浏览器地址栏传入参数类型# 浏览器输入默认为str类型 ,可做限定类型还有 float ,path(也是字符串类型)@app.route('/user/<int:user_id>')def user_info(user_id): return "user_info:%d" % user_id# 设置请求方法@app.route('/demo', methods=['GET','POST','HEAD'])def demo(): return request.method# 返回json格式的数据@app.route('/demo01')def demo01(): json_dict = { "user_id":12, "user_name":"董永", "age":20 } return jsonify(json_dict)#重定向@app.route('/demo02')def demo02(): # 重定向到百度 # return redirect('http://www.baidu.com') # 重定向到欢迎首页 # return redirect('/') '''url_for 调用视图函数的url''' return redirect(url_for('demo01'))# 自定义状态码@app.route('/demo03')def demo03(): # print("自定义状态码") return '状态码',123# 正则匹配# 自定义转换器class ReConverter(BaseConverter): def __init__(self, url_map, *args): super(ReConverter, self).__init__(url_map) self.regex = args[0]# 将自定义转换器添加到转换器字典中,并指定转换器使用名称app.url_map.converters['re'] = ReConverter# 通过调用自定义转换器,过滤浏览器输入不合规参数@app.route('/user/<re("[0-9]{3}"):user_id>')def user_msg(user_id): return "正则限定后 user_id 是:%s" % user_id# url_for('')调用视图函数的url@app.route('/demo04')def demo04(): return url_for('demo03')# 程序入口if __name__ == '__main__': app.run(debug=True)
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。