初识flask,搭建第一个自己的网页
前言本篇依然是围绕着前面说过的文章进行知识展开,既然项目中涉及到网页,咱们就从网页开始讲起吧!Python 在 9102 年作为一门热火朝天的语言,自然在建网站方面有着许多优秀的 web 框架,而笔者这里的选型则是 flask。PS:web 框架,给新手朋友们解释下。...
前言
本篇依然是围绕着前面说过的文章进行知识展开,既然项目中涉及到网页,咱们就从网页开始讲起吧!
Python 在 9102 年作为一门热火朝天的语言,自然在建网站方面有着许多优秀的 web 框架,而笔者这里的选型则是 flask。
PS:web 框架,给新手朋友们解释下。在生活中,我们都大致了解过建楼的操作,建造楼房的过程中,一般都是先将其骨架搭建起来,在进行房屋细节加工。计算机中的 web 框架,就类似于骨架,通过某一框架来实现整体架构的搭建,至于房屋细节的实现,由你完成。
为什么选择 flask ?
在 Python 语言中,有许多优秀的 web 框架,列举几个非常知名的:
- 各框架的读音
- Django (酱狗) 无中文含义
- Tornado (托内斗) 中文,龙卷风
- Web.py (外部点皮外) 无中文含义
- Flask (肤蜡死磕) 中文,烧瓶
- 各框架的简介
- Django 市场占有率极高的框架,适合大项目,官方文档齐全
- Tornado 异步高性能框架,包含许多底层细节,少而精
- Web.py 作者过于nb,很早被上帝请去喝茶,停止维护了
- Flask 微框架,轻量级,扩展插件较多
经以上对比,Django 适合大项目,Tornado 适合高访问量项目,Web.py 之前笔者工作的时候用过,停止维护,没有什么扩展组件可以利用。对于本项目而言,最合适的就只有 flask 啦!~
PS:追溯到最初,Flask 诞生于 Armin Ronacher 在 2010 年愚人节开的一个玩笑。后来,它逐渐发展成为一个成熟的 Python Web 框架,越来越受到开发者的喜爱。
额外普及一个 web 知识点 - MVC :
(如果不是专业人员,可以忽略这个理论概念!)
这是一个和 web 应用相关的模式,不论是 java 开发(java 中的 web 框架采用就是这种模式),还是 python 开发。
M:Model ==> 与数据库相关的模型层
V:Views ==> 网页的地址,以及渲染网页等
C:Controller ==> 访问网页地址后,读取页面数据,调用业务逻辑
安装 flask
新的项目,需要依赖新的环境,所以使用 pipenv 来为新项目创建一个新环境。不了解 pipenv 的,可以回顾下《你应该了解的python虚拟环境与依赖管理》。
进入 https://pypi.org/ ,搜索 flask 。
pip list # 查看有没有 pipenvpipenv shell # 激活项目虚拟环境,若无则创建pip install Flask # 安装 flask
上面安装好 flask ,可以看到还有两个库也被安装了。我们打开 flask 的官方文档(自行搜索 flask 的中文文档)看看:
Flask 依赖 Jinja 模板引擎和 Werkzeug WSGI 套件。所以你会看到安装后多了这两个库。
第一个 web 应用
学习框架,第一个 demo 必然是从官网去寻找啦。自行搜索官网文档,可以看到简易 demo 。
其实官方文档写的已经很详细了,我这里能做的是什么呢?改写 demo 再来演示下。。。
from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return '泥豪,世界!' if __name__ == "__main__": app.run(host='127.0.0.1', port=8080)
改了成这样,然后 pycharm 跑下就可以看到:
让我们访问下网页地址:http://127.0.0.1:8080/
第一个自己的网页搭建完了!是不是很简单呢。。当然,如果是自己开发的情况下,可以加上以下 debug 参数,每次修改不用手动重启,开启后,可以观察控制台日志。
app = Flask(__name__)app.config['DEBUG'] = True # 开启 debug
上面只是个小例子,你也可以这么皮一下:
from flask import Flaskapp = Flask(__name__)app.config['DEBUG'] = True@app.route('/')def hello_world(): return '泥豪,世界!
\ \ \ 'if __name__ == "__main__": app.run(host='127.0.0.1', port=8080)
在 return 的时候直接用 html 返回, flask 默认是支持解析的。
关于代码的讲解,大家自行官网学习即可,不做赘述讲解,官方文档解释的很清楚了。
顺便在普及个知识,如果你的电脑和你的手机处于同一 wifi 下(同一局域网)。电脑上你访问的地址是 127.0.0.1:8080 ,那么当你 web 项目启动时,手机也是可以访问的!
将代码 ip 位置改为:
if __name__ == "__main__": app.run(host='0.0.0.0', port=8080)
查看电脑的内网 ip 地址,打开 cmd (windows 快捷键是 win+r,输入 cmd 即可),输入 ipconfig :
找到,因为我这里连接的是 wifi ,所以:
接下来打开手机浏览器,访问 http://192.168.0.106:8080/ 。如下(小米浏览器还默认网站不安全,给了个红叹号!):
总结
大体上介绍了下 flask 的入门简单小 demo。后面会慢慢把 flask 一步步拓展起来,入门文章,看起来应该非常轻松叭!
推荐阅读:迷你充电宝可靠吗