0.Flask简介
Flask是一个用Python编写的 轻量级的 Web应用框架。本文第一部分将简单讲解Flask的安装,接着展示一个Flask的例子,第一个例子非常简单但也存在缺陷——在Python代码中嵌入了HTML标签,为了解决这样的缺陷第二个例子引入了模板,最后第三个例子在模板中加入了参数。
1.Flask安装
安装Flask的方法有很多,例如使用easy_install或pip。但是再开始之前最好使用国内镜像,这样安装时等待的时间会短的很多。更多内容请参考—— python 扩展库安装 使用第三方镜像源 
【使用easy_install安装】
(sudo) easy_install -i http://pypi.douban.com/simple/ flask
【使用pip安装】
(sudo) pip install -i http://pypi.douban.com/simple/ flask
2.一个简陋的例子
【网页源代码】
<html>
<title>Flask Test</title>
<body>
<h2>Hello World</h2>
</body>
</html>
【最终效果】
图1 运行结果
【python代码】——文件名为hello-flask.py
from flask import Flask
app= Flask(__name__)
@app.route('/')
def hello():response = "<html>\n"response += "<title>Flask Test</title>\n"response += "<body>\n"response += "<h2>Hello World\n</h2>"response += "</body>\n"response += "</html>\n"return responseif __name__ == '__main__':app.run(host="0.0.0.0",port=8080, debug=True)  
【如何运行】
如果是windows7系统,可以按住shift并在所在目录右击,选择“在此处打开命令窗口”,接着在控制台中输入 python hello-flask.py。
若希望结束运行请在控制台中输入Ctrl+C。
【代码说明】
【1】from flask import Flask 
引入flask框架,form flask中的 flask必须小写代表 文件名,为improt  Flask中的Flask必须大写代表 类名。
【2】app= Flask(__name__)
创建一个实例。
【3】@app.route('/')
设置Flask路由。在上文的代码中,若Flask遇到"/"这样的URL,那么就使用hello_world处理该请求。此处的@符号暂时不深入讨论。
【4】app.run(host="0.0.0.0",port=8080, debug=True) 
host="0.0.0.0"使得Flask可以处理来自任意IP的请求,port=8080指定端口为8080,建议在调试过程中不使用80端口除非你有十足的把握。
【为什么说这个例子丑陋】
从上面的代码可以看出,在python代码中插入了很多HTML标签,例如body h2等,这样的代码容易产生混乱并且难以维护。如果使用渲染模板便可很好的解决该问题。
3.利用模板
模板和原始的HTML文件非常的相似,只是在原始HTML中多些占位符,Flask框架中使用Jinja2作为模板引擎,而Jinja2的占位符为{{ }}。当使用render_template方法渲染一个模板时,Jinja2便把占位符使用指定的变量替代并形成html文件,最后Flask把该html文件传输给浏览器。
为了利用模板,在hello-flask.py 同目录中新建一个 templates文件夹,在文件夹中新建一个hello.html文件。
【HTML文件】
<html>
<head><title>Flask Test</title>
</head>
<body><h2>Hello World</h2>
</body>
</html><span style="background-color: inherit; font-family: Tahoma;">  </span>
【python代码】
from flask import Flask,render_template
app= Flask(__name__)
@app.route('/')
def hello():return render_template("hello.html")if __name__ == '__main__':app.run(host="0.0.0.0",port=8080, debug=True)  
【代码说明】
【1】from flask import Flask,render_template

引入render_template方法

【2】render_template("hello.html") 
渲染hello.html文件,注意此处没有代入任何参数。

4.更复杂的例子
让我们再来做一个复杂一些的例子,定义这样一个RESTful风格URL。
/hello/name    网页显示hello name。
/hello/           网页显示hello 某默认结果(此处暂且定义为xukai871105吧)。
【最终效果】
图2 运行结果
图3 运行结果
【html文件】
<html>
<head><title>Flask Test</title>
</head>
<body><h2>Hello {{name}}</h2>
</body>
</html> 

【python代码】
from flask import Flask,render_template
app= Flask(__name__)
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):if name == None:name = "xukai871105"templateDate = {'name' : name};return render_template("hello.html", **templateDate);
if __name__ == '__main__':app.run(host="0.0.0.0",port=8080, debug=True)  

【代码说明】
【1】hello函数处理两个URL,分别为/hello/和hello/<name>
【2】templateDate定义一个python字典,该字典只有一个键值对,name:xukai。请注意此处的'name'为键名称,而name为键具体值此处为一个变量。python中的字典和javascript中的JSON非常相似,如果在javascript中可以写成{name:name},前一个name为键名称,后一个name为键具体值,javascript把引号都省略了。
【3】**templateDate表示任意个数且有名称的参数,该参数适用字典来访问。在这里也可以写成,render_template("hello.html", name=name);如果这样描述那么第一个那么代表键名称,第二个那么代表键具体值,此处name为hello函数的形参。
5.参考资料
【1】 Windows下 安装Flask
【2】 Flask 教程
【3】 Flask 快速入门

python Flask 学前班相关推荐

  1. 全栈Python Flask教程-建立社交网络

    Learn how to build a basic social platform with the Python Flask web framework. 了解如何使用Python Flask网络 ...

  2. python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...

    资源详情 r n t某课网好评度100%的Python Flask高级编程之RESTFul API前后端分离精讲 r n t t t第1章 随便聊聊 r n t t t聊聊Flask与Django,聊 ...

  3. python flask实现博客系统_基于Flask的博客网站设计与实现

    涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...

  4. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  5. python开源项目博客_Blog_mini首页、文档和下载 - Python Flask开源博客 - OSCHINA - 中文开源技术交流社区...

    使用Blog_mini,你完全不用担心博客的管理问题! Blog_mini是一个用Python Flask开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_min ...

  6. 用python+flask自己制作api(教程附源码)

    1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个 ...

  7. Build Docker image of a Python Flask app【转载】

    原文地址:https://stackoverflow.com/questions/41750366/build-docker-image-of-a-python-flask-app I'm tryin ...

  8. Python Flask web 项目零改动迁移至阿里云函数计算

    引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...

  9. 注意:python flask 里image文件 css文件 html文件都必须有固定存放位置!

    html文件放在templates文件夹里 css文件和image文件都放在static文件夹里 Flask 中 CSS 能否放在其他位置? 但貌似也是能够自定义位置的 Flask静态文件目录地址自定 ...

最新文章

  1. iOS 加密的3种方法
  2. mysql 5.5.35 单机多实例配置详解_MySQL 5.5.35 单机多实例配置详解
  3. java sqlserver 2000_谁能救救我啊,关于JAVA连接SQLserver2000
  4. STM32开发 -- IAP详解
  5. linux中shell编写数组排序,linux bash shell实现对数组快速排序(升序)
  6. 简明 Vim 练级攻略 (转)
  7. app安全渗透测试详细方法流程
  8. 找工作笔试面试那些事儿(14)---轻松一下,谈谈面试注意的点
  9. CTWAP下程序崩溃
  10. adc芯片分享,人体脂肪秤芯片CS1256
  11. 矩阵快速幂(矩阵加速)
  12. 移动端字体显示大小和css设置大小的不一致解决方案
  13. 日期类的实现(C++编写练习类与对象)
  14. 《Qt5:键盘事件》
  15. 缺失数据填补基础方法(3)——Multiple Imputation by Chained Equations (MICE)
  16. MPB:中科院城环所杨军组-​​基于DNA宏条形码的水体微型真核生物群落测序建库方法...
  17. docker-compose 安装多版本php
  18. python(18):网络编程(七层协议+tcp/udp+socket编程)
  19. python高阶3D绘图---pyvista模块,mayavi模块,pyopengl模块,MoviePy模块基础使用
  20. 【PyTorch】实现一个简单的CNN图像分类器

热门文章

  1. 精彩的人生感悟--认识自己
  2. apollo奶奶_奶奶偷豆腐
  3. Redis—Bitmaps、HyperLogLog 、Geospatialip(地址报错(连接失败))
  4. 使用Python命令行优美打印json文件
  5. 华为机试题107-求解立方根
  6. cordova 将cesium 打包成Android App
  7. 欢迎大家走进我的园子 目录整理篇
  8. 欢迎中国电信股份有限公司云计算分公司加入openGauss社区
  9. puma560的运动学及matlab实现(正解+逆解)
  10. window10好用的软件