初始flask,搭建第一个自己的网页

咪哥杂谈

640?wx_fmt=png

本篇阅读时间约为 5 分钟。


 
  


1

前言


本篇依然是围绕着前面说过的文章进行知识展开,既然项目中涉及到网页,咱们就从网页开始讲起吧!


Python 在 9102 年作为一门热火朝天的语言,自然在建网站方面有着许多优秀的 web 框架,而笔者这里的选型则是 flask。


PS:web 框架,给新手朋友们解释下。在生活中,我们都大致了解过建楼的操作,建造楼房的过程中,一般都是先将其骨架搭建起来,在进行房屋细节加工。计算机中的 web 框架,就类似于骨架,通过某一框架来实现整体架构的搭建,至于房屋细节的实现,由你完成。


2

为什么选择 flask ?


在 Python 语言中,有许多优秀的 web 框架,列举几个非常知名的:


1. 各框架的读音


2. 各框架的简介


经以上对比,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  ==>    访问网页地址后,读取页面数据,调用业务逻辑

3

安装 flask 


新的项目,需要依赖新的环境,所以使用 pipenv 来为新项目创建一个新环境。不了解 pipenv 的,可以回顾下《你应该了解的python虚拟环境与依赖管理》。


进入 https://pypi.org/ ,搜索 flask 


640?wx_fmt=png


pip list # 查看有没有 pipenv	
	
pipenv shell  # 激活项目虚拟环境,若无则创建	
	
pip install Flask  # 安装 flask


640?wx_fmt=png


上面安装好 flask ,可以看到还有两个库也被安装了。我们打开 flask 的官方文档(自行搜索 flask 的中文文档)看看:


640?wx_fmt=png


Flask 依赖 Jinja 模板引擎和 Werkzeug WSGI 套件。所以你会看到安装后多了这两个库。


4

第一个 web 应用


学习框架,第一个 demo 必然是从官网去寻找啦。自行搜索官网文档,可以看到简易 demo 。


640?wx_fmt=png


其实官方文档写的已经很详细了,我这里能做的是什么呢?改写 demo 来演示下。smiley_20.png


 
  
from flask import Flask	
app = Flask(__name__)	
	
@app.route('/')	
def hello_world():	
    return '泥豪,世界!'	
    	
if __name__ == "__main__":	
    app.run(host='127.0.0.1', port=8080)


改了成这样,然后 pycharm 跑下就可以看到:


640?wx_fmt=png


让我们访问下网页地址:http://127.0.0.1:8080/


640?wx_fmt=png

第一个自己的网页搭建完了!是不是很简单呢。。当然,如果是自己开发的情况下,可以加上以下 debug 参数,每次修改不用手动重启,开启后,可以观察控制台日志。


 
  
app = Flask(__name__)	
app.config['DEBUG'] = True  # 开启 debug


上面只是个小例子,你也可以这么皮一下:


 
  
from flask import Flask	
	
app = Flask(__name__)	
app.config['DEBUG'] = True	
	
@app.route('/')	
def hello_world():	
    return '<h1>泥豪,世界!</h1>\	
        <img src="https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2700654223,2122220372&fm=26&gp=0.jpg"> \	
        <img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=350647292,841711&fm=27&gp=0.jpg"> \	
        <img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=4121236200,1201346551&fm=27&gp=0.jpg">'	
	
if __name__ == "__main__":	
    app.run(host='127.0.0.1', port=8080)


640?wx_fmt=png


在 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 :


640?wx_fmt=png


找到,因为我这里连接的是 wifi ,所以:



640?wx_fmt=png


接下来打开手机浏览器,访问 http://192.168.0.106:8080/ 。如下(小米浏览器还默认网站不安全,给了个红叹号!):

640?wx_fmt=png

5

总结


大体上介绍了下 flask 的入门简单小 demo。后面会慢慢把 flask 一步步拓展起来,入门文章,看起来应该非常轻松叭!





▼往期精彩回顾▼ 从零开始,搭建城市交通数据分析(零)
人生第一款线上产品
年中汇总干货文章集合(Python)



640?wx_fmt=png

640?wx_fmt=png你点的每个在看,我都认真当成了喜欢


发布了39 篇原创文章 · 获赞 50 · 访问量 9623

猜你喜欢

转载自blog.csdn.net/weixin_38753698/article/details/95700678