一、初始化参数
import_name: 当前模块名
static_url_path:静态资源的url前缀,默认为‘static’
static_folder: 静态文件目录名,默认‘static’
template_folder: 模板文件目录名,默认‘templates’
二、配置参数
app.config.from_pyfile(“yourconfig.cfg”) 或
app.config.from_object()
三、在视图读取配置参数
app.config.get() 或者 current_app.config.get()
四、app.run的参数
app.run(host=”0.0.0.0”, port=5000,debug=True)
五、Flask的Hello world程序
# 导入Flask类
from flask import Flask#Flask类接收一个参数__name__
app = Flask(__name__)# 装饰器的作用是将路由映射到视图函数index
@app.route('/')
def index():return 'Hello World'# Flask应用程序实例的run方法启动WEB服务器
if __name__ == '__main__':app.run()
六、app.url_map 查看所有路由
七、同一路由装饰多个视图函数
八、同一视图多个路由装饰器
九、利用methods限制访问方式
@app.route(’/sample’, methods=[‘GET’, ‘POST’])
十、使用url_for进行反解析
十一、动态路由
路由传递的参数默认当做string处理,这里指定int,尖括号中冒号后面的内容是动态的
# 路由传递的参数默认当做string处理,这里指定int,尖括号中冒号后面的内容是动态的
@app.route('/user/<int:id>')
def hello_itcast(id):return 'hello itcast %d' %id
十二、自定义转换器
from flask import Flask
from werkzeug.routing import BaseConverterclass Regex_url(BaseConverter):def __init__(self,url_map,*args):super(Regex_url,self).__init__(url_map)self.regex = args[0]app = Flask(__name__)
app.url_map.converters['re'] = Regex_url@app.route('/user/<re("[a-z]{3}"):id>')
def hello_itcast(id):return 'hello %s' %id
- 普通自定义转换器:
- 万能自定义转换器:
从路径中取出来的18612345678并不是直接作为参数传递给视图函数send_sms()的形参的,而是先把18612345678传递给to_python()函数,然后把to_python()函数的返回值再传递给send_sms()函数的形参!