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) .组合方式


flask的常规使用二的更多相关文章
- Flask 学习笔记(二):RESTful API
概括 URL:需要操作的对象,也就是资源 HTTP method:我要对该对象做什么(POST 增.DELETE 删.GET 查.PUT 和 PATCH 改) HTTP status code:操作的 ...
- Flask 教程 第十二章:日期和时间
本文翻译自The Flask Mega-Tutorial Part XII: Dates and Times 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的 ...
- Flask学习之十二 使用boostrap
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xii-facelift 中文翻译地址:http://w ...
- Flask 教程 第二十二章:后台作业
本文翻译自The Flask Mega-Tutorial Part XXII: Background Jobs 这是Flask Mega-Tutorial系列的第二十二部分,我将告诉你如何创建独立于W ...
- Flask 基础组件(二):配置文件
配置参数 flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为: { 'DEBUG': get_debug_flag(default=False), 是否开启 ...
- Flask构建微电影(二)
第三章.项目分析.搭建目录及模型设计 3.1.前后台项目目录分析 微电影网站 前台模块 后台模块 前台(home) 数据模型:models.py 表单处理:home/forms.py 模板目录:tem ...
- Flask开发微电影网站(二)
1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridDB数据库提示符,创建movie数据库 create ...
- flask项目结构(二)创建flask,同步docker
简介: 建立flask容易,那么部署就比较麻烦了,配这个,配那个,更新………… 所以我从构建,就考虑部署的问题,使用docker部署. 程序都打包进docker,本博客有相关文章. pycharn直接 ...
- flask之jinjia2模板(二)
1.1.模板传参 (1)主程序 from flask import Flask,render_template app = Flask(__name__) @app.route('/') def he ...
随机推荐
- 学完了这篇JVM,面试官真拿我没办法了!
在我们面试中经常会遇到面试官问一些有关JVM的问题,下面我大概从运行时数据域.类加载机制.类加载器.垃圾收集器.垃圾收集算法.JVM堆内存模型.JVM内存结构.JVM调优等几个方面来讲一下JVM. 一 ...
- 二:使用VS2019 + .net 6创建 webapi 项目
0.创建一个.net 6项目.由于目前.net 6还是预览版,所以需要添加预览版SDK功能.工具 -> 选项 -> 环境 -> 预览功能 ,勾选使用.net sdk预览版. 1.新建 ...
- Nextcloud 使用教程
一.简介 Nextcloud是一个网盘式文件管理系统,多用户权限管理,多客户端,使用简单.可在浏览器中运行,也可下客户端,不论使用哪种方式运行,使用教程都是一样的. 只是在客户端中运行时能及时收到相应 ...
- AtCoder Regular Contest 121 D - 1 or 2
题目链接:点我点我 Problem Statement Snuke has a blackboard and NN candies. The tastiness of the ii-th candy ...
- Python+Selenium学习笔记11 - python官网的tutorial - 定义函数
1 def f(a, L=[]): 2 L.append(a) 3 return L 4 5 print f(5) 6 print f(2) 输出 1 def f(a, L=None): 2 if L ...
- Java中Map<Key, Value>存储结构根据值排序(sort by values)
需求:Map<key, value>中可以根据key, value 进行排序,由于 key 都是唯一的,可以很方便的进行比较操作,但是每个key 对应的value不是唯一的,有可能出现多个 ...
- 智能驾驶L2发展策略
智能驾驶L2发展策略 智能驾驶L2,以们通俗的定义是,以高级辅助驾驶的产品为主的各种巡航产品,包括定速巡航,自适应巡航ACC,预见性巡航,智能巡航等等. 车辆驾驶是集注意力高度集中,手把控方向盘和换挡 ...
- python小知识,列表推导式
使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表. 1.生成指定范围的数值列表,语法格式如下: list=[Expression for var in range if co ...
- java后端知识点梳理——MySQL
MySQL的索引 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息,就像一本书的目录一样,可以加快查询速度.InnoDB 存储引擎的索引模型底层实现数据结构为 ...
- 《四大点,搞懂Redis到底快在哪里?》
一.开发语言 二.纯内存访问 三.单线程 四.非阻塞多路I/O复用机制 前言 Redis是一种基于键值对(Key-Value)的NoSQL数据库 ,Redis的Value可以由String,hash, ...