前言
本篇依然是围绕着前面说过的文章进行知识展开,既然项目中涉及到网页,咱们就从网页开始讲起吧!
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 一步步拓展起来,入门文章,看起来应该非常轻松叭!
推荐阅读:乌鲁木齐之窗
-
河南开封最有名的文物是一座琉璃塔,历经37次
随着新春佳节的临近,很多人的过年方式也在慢慢的转变,从以前只在自己家里呆着,变成了去旅游过年,感受不同地方的年俗是一件很有趣的事情,这一次我们的旅行来到了千年古...
2020-03-18 -
阳春三月河南最适合登山踏青的地方,赶快去浪吧
阳光明媚,春暖大地,春天已经正式到来啦!结束了一个冬天的沉寂之后,万物生机盎然,一草一木都开始慢慢展现出活力,漫山遍野的鲜花也竞相开放。阳春三月好时节,正是适合...
2020-03-18 -
广州南沙的这些景点你都知道吗?邂逅南沙,一起
邂逅南沙,作为粤港澳大湾区的核心地带,你知道这里都有哪些景点吗?如果还不知道赶紧来瞧瞧吧!No.1 南沙湿地景区南沙湿地景区位于广州最南端,地处珠江入海口西岸的...
2020-03-18 -
河南也有“九寨沟”,素有“中原最美瀑布”的美
每天穿梭于城市的喧嚣中,你是否也曾想过要逃离?世界这么大,去看看和现在不一样的生活,体验一下陶渊明笔下的“世外桃源”,游一游欧阳修所爱的山水,正所谓“醉翁之意不...
2020-03-18 -
中国中部最后的香格里拉,湖北唯一的羌寨,被遗
在中国湖北省西南部有一个咸丰县,有湖北“西大门”之称,在咸丰县藏着依山而建的民居,让人流连忘返的村落-麻柳溪村,麻柳溪山清水秀,空气清新,享有中国中部最后的一个...
2020-03-18 -
大饱眼福,一套赏心悦目的小屋,无论是做民宿或
如今木屋越来越受大众欢迎,今天来给大家介绍一款小木屋,无论是作为自用度假,或者作为民宿都十分合适。这栋小木屋别墅分为上下两层,生活设备齐全,一楼为厨房跟客厅,卫...
2020-03-18