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 ...
随机推荐
- x轴滚动
#region 设置x轴滚动 XYDiagram diagram = (XYDiagram)chartRoomUserAnalysisHis.Diagram; diagram.Ax ...
- 在pycharm进行单元测试(unittest python)
在Edit Configuration中添加Python test 选中相应的脚本或者文件夹 # coding:utf-8 import unittest import requests from c ...
- 书列荐书 |《滚雪球:巴菲特和他的财富人生》【美】艾丽斯·施罗德著
一开始听说这本书比较不错,但是比较搞笑的是,我买了之后才发现还有个下册.于是我决定把书退回去,并用了两天的时间把它给看完了..基本看的差不多了. 沃伦·巴菲特从上小学,初中,高中就已经变得有经济头脑了 ...
- 尚硅谷Java——宋红康笔记【day1-day5】
day1 注释 1.java规范的三种注释方式: 单行注释 多行注释 文档注释(java特有) 2. 单行注释和多行注释的作用: ① 对所写的程序进行解释说明,增强可读性.方便自己,方便别人 ② 调试 ...
- halcon——缺陷检测常用方法总结(测量拟合)
引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分:halcon--缺陷检测常用方法总结(模板匹配(定位)+差分) - 唯有自己强大 - 博客园 (cnblogs.co ...
- 可微渲染 SoftRas 实践
SoftRas 是目前主流三角网格可微渲染器之一. 可微渲染通过计算渲染过程的导数,使得从单张图片学习三维结构逐渐成为现实.可微渲染目前被广泛地应用于三维重建,特别是人体重建.人脸重建和三维属性估计等 ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- Spring Boot WebFlux-08——WebFlux 中 WebSocket 实现通信
第08课:WebFlux 中 WebSocket 实现通信 前言 WebFlux 该模块中包含了对反应式 HTTP.服务器推送事件和 WebSocket 的客户端和服务器端的支持.这里我们简单实践下 ...
- StackOverflow上面 7个最好的Java答案
StackOverflow发展到目前,已经成为了全球开发者的金矿.它能够帮助我们找到在各个领域遇到的问题的最有用的解决方案,同时我们也会从中学习到很多新的东西.这篇文章是在我们审阅了StackOver ...
- 6.10考试总结(NOIP模拟6)
前言 就这题考的不咋样果然还挺难改的.. T1 辣鸡 前言 我做梦都没想到这题正解是模拟,打模拟赛的时候看错题面以为是\(n\times n\)的矩阵,喜提0pts. 解题思路 氢键的数量计算起来无非 ...