flask的常规使用二
一、路由(router)
路由指定了url 到函数之间的一个映射关系。
url ---> flask框架拿到url 的路径部分和路由中的内容进行匹配,如果匹配成功了则执行对应的函数。如果没有找到则返回404错误信息。
注意:路由中的内容必须以”/” 开头。

二、视图函数
视图函数写法和普通的函数一样,
作用:编写逻辑(调用数据库对数据库内容操作等等)、返回内容给浏览器。
注意:
(1).必须要有返回值(不能返回None),
(2).同一个py文件中,视图函数的名称不能相同。

三、run函数中的参数
1 from flask import Flask 2 3 app = Flask(__name__) 4 5 6 @app.route('/index/') 7 def index(): 8 print('我是视图函数...') 9 return 'hello world' 10 11 12 if __name__ == '__main__': 13 # host:主机 14 # port:端口号 默认是5000 15 # debug:True 表示开启调试模式。更容易分析错误。好处2:项目可以自启动。 16 # use_reloader:True 当修改完项目后,会自运行,加载最新的代码。 17 app.run(host='0.0.0.0', port=8000, debug=True, use_reloader=True)
四、URL路径参数
可以将url的路径部分内容,传递到视图函数中。
1 from flask import Flask 2 3 app = Flask(__name__) 4 5 # http://127.0.0.1:5000/index/aa/ 6 # @app.route('/index/aa/') 7 # def index(): 8 # return 'hello world' 9 10 """ 11 格式:<名称msg> 12 注意: 13 (1).视图函数的位置参数必须要和'msg' 相同。 14 (2).当匹配成功后,flask将url的捕获的路径部分传递给msg位置参数 15 (3).默认方式会将内容中的'/' 当成路径分隔符。 16 (4).默认方式获取的内容是字符串类型 <string:msg> 或者 <msg> 17 """ 18 19 # 字符串类型 20 # @app.route('/index/<string:msg>/') 21 # def index1(msg): 22 # print(msg, type(msg)) # 字符串。 23 # return 'hello bb' 24 25 # path: 将url的路径分隔符当成内容使用。 26 # @app.route('/index/<path:msg>/') 27 # def index1(msg): 28 # print(msg, type(msg)) 29 # return 'hello bb' 30 31 # int 32 # @app.route('/index/<int:msg>/') 33 # def index1(msg): 34 # print(msg, type(msg)) 35 # return 'hello bb' 36 37 # float 类型 38 @app.route('/index/<float:msg>/') 39 def index1(msg): 40 print(msg, type(msg)) 41 42 return 'hello bb' 43 44 45 if __name__ == '__main__': 46 app.run(debug=True)
五、返回页面

注意:盛放模板文件的目录必须叫做 templates。原因是源码中已经指定了
目录的名称为templates。

但是,我们可以来修改目录名称,修改的方式(修改源码,给默认值重新赋值)
1、页面渲染数据

2、返回数据
(1) .返回普通的内容



(2) .返回列表


(3) .返回字典


(4) .返回对象


(5) .组合方式



浙公网安备 33010602011771号