外链论坛

 找回密码
 立即注册
搜索
查看: 85|回复: 6

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

[复制链接]

3063

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158953
发表于 2024-7-27 17:51:08 | 显示全部楼层 |阅读模式
咪哥杂谈

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

1

前言

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

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

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

2

为何选取 flask ?

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

1. 各框架的读音

Django       (酱狗)          无中文含义

Tornado     (托内斗)        中文,龙卷风

Web.py      (外边点皮外)   无中文含义

Flask       (肤蜡死磕)     中文,烧瓶

2. 各框架的简介

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  ==>    拜访网页位置后,读取页面数据,调用业务规律

3

安装 flask 

新的项目,需要依赖新的环境,因此运用 pipenv 来为新项目创建一个新环境。不认识 pipenv 的,能够回顾下《你应该认识的python虚拟环境与依赖管理》。

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

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

上面安装好 flask ,能够看到还有两个库被安装了。咱们打开 flask 的官方文档(自动搜索 flask 的中文文档)瞧瞧

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

4

第1个 web 应用

学习框架,第1个 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/

第1个自己的网页搭建完了!是不是很简单呢。。当然,倘若是自己研发状况下,能够加上以下 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 <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)

在 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/ 。如下(小米浏览器还默认网站不安全,给了个红叹号!):

5

总结

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

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

你点的每一个在看,我都认真当成为了爱好




上一篇:不懂代码没问题!15款网页设计师必知的无代码网站搭建平台
下一篇:建网站应该选取自己建站还是在线建站?
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-7 11:17:46 | 显示全部楼层
请问、你好、求解、谁知道等。
回复

使用道具 举报

3022

主题

210

回帖

9777万

积分

论坛元老

Rank: 8Rank: 8

积分
97779036
发表于 2024-9-10 02:41:51 | 显示全部楼层
外贸论坛是我们的,责任是我们的,荣誉是我们的,成就是我们的,辉煌是我们的。
回复

使用道具 举报

3112

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108663
发表于 2024-10-1 00:43:08 | 显示全部楼层
楼主节操掉了,还不快捡起来!
回复

使用道具 举报

3112

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108663
发表于 2024-10-19 12:49:44 | 显示全部楼层
你的话语如春风拂面,温暖了我的心房,真的很感谢。
回复

使用道具 举报

3063

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158953
 楼主| 发表于 5 天前 | 显示全部楼层
楼主节操掉了,还不快捡起来!
回复

使用道具 举报

3053

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139078
发表于 前天 21:30 | 显示全部楼层
外链论坛的成功举办,是与各位领导、同仁们的关怀和支持分不开的。在此,我谨代表公司向关心和支持论坛的各界人士表示最衷心的感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-17 21:48 , Processed in 0.156201 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.