2024年Python最全半天速成Python超简网站,面试官必问的10个问题

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

hello()函数在处理完我们的请求后,向我们返回了请求的结果,也就是显示Hello World的页面。

Hello World 代码解读

当我们了解了整个Flask应用的运行逻辑(B/S架构的执行逻辑),再回头看Flask官方的解读可能会有更多收获,针对Hello World应用,官方文档代码解释如下

  1. 首先我们导入了 Flask 类。 该类的实例将会成为我们的 WSGI 应用(整个hello_world服务本质上就是一个Flask类的实例)。

  2. 接着我们创建一个该类的实例。第一个参数是应用模块或者包的名称。如果你使用 一个单一模块(就像本例),那么应当使用 __name__ ,因为名称会根据这个 模块是按应用方式使用还是作为一个模块导入而发生变化(可能是__main__ , 也可能是实际导入的名称)。这个参数是必需的,这样 Flask 才能知道在哪里可以 找到模板和静态文件等东西。更多内容详见 Flask 文档。

  3. 然后我们使用 route() 装饰器来告诉 Flask 触发函数的 URL(告诉Flask什么样的URL需要调用这个函数) 。

  4. 函数名称被用于生成相关联的 URL 。函数最后返回需要在用户浏览器中显示的信息。

提示:

当我们使用http://127.0.0.1:5000?name=xiaoming访问hello_world服务的时候,就为服务器提供了一个参数,参数名是name,参数值是xiaoming。在服务端,通过request.args.get("name", "World")可以取得参数name的值,如果没有找到name(也就是我们没有提供),那么就返回默认值World

Hello World 应用增强


显然,一个只会问好的服务并不是我们想要的,想要更酷炫的内容就需要为hello_world添加更多的能力。

为了彰显自己的丰功伟绩,我决定为自己搭建一个个人主页,用以记录本人曾经和以后的光辉时刻。

下面,我将从hello_world出发,逐步搭建出一个只有一个页面的个人主页。

Flask本身非常的轻量(简单),可以通过安装插件的方式,使用各种神奇的功能,为了降低代码量,下面将使用 bootstrap-flask插件编写前端代码。

市面上还有一个 flask-bootstrap插件,这是一个老的版本,我们这里使用最新的bootstrap-flask

templates 和 static 文件夹

直接返回字符串的方式过于简陋,我们需要使用HTML页面展示更复杂的内容。在Flask中默认存放HTML页面的位置是根目录下的 templates文件夹,对应的存放静态文件(例如图片、css、js文件)的目录是static。我们需要创建这两个文件夹。

展示个人信息的HTML页面需要放置在 templates 下,我将其命名为 me.html

如此,整个加强版的hello_world项目框架就搭建完成了,这个项目目录树如下:

hello_world # 项目根目录

├── app.py # 代码文件

├── static/ # 静态文件夹

├── templates/ # 模板文件夹、存放HTML

│ └── me.html # 个人主页

└── venv/ # 虚拟环境

安装bootstrap-flask插件

首先,我们需要在虚拟环境中安装bootstrap-flask插件,在虚拟环境激活状态先执行:

(venv)~/hello_world$ pip install bootstrap-flask

配置bootstrap-flask插件

app.py中配置bootstrap-flask插件只需要两步:

  1. 从bootstrap-flask导入Bootstrap类,如下:

from flask_bootstrap import Bootstrap5

bootstrap-flask插件中有多个Bootstrap类,如Bootstrap、Bootstrap4和Bootstrap5,其中Bootstrap对应版本3,Bootstrap4对应版本4,Bootstrap5对应版本5。

之所以选择Bootstrap5,自然是因为我觉得一个拥有个人主页的我能驾驭~

  1. 创建Bootstrap实例

app = Flask(__name__)语句后插入:

bootstrap = Bootstrap5(app)

到这里就完成了bootstrap-flask插件的配置,你的app.py文件应该如下:

save this as app.py

from ensurepip import bootstrap

from flask import Flask, escape, request

from flask_bootstrap import Bootstrap5

app = Flask(name)

bootstrap = Bootstrap5(app)

@app.route(‘/’)

def hello():

name = request.args.get(“name”, “World”)

return f’Hello, {escape(name)}!’

HTML引入 bootstrap-flask

Flask的HTML页面使用了Jinja2模板引擎,由于本文只是演示Flask的简单用法,这里就不详细介绍引擎的使用方法了,如果有学习的兴趣,可以追更本系列,后继文章会围绕Flask介绍全栈的知识点。

me.html引入bootstrap之前,我们需要先写一个HTML文件的框架,如下:

<!doctype html>

{​{ title }}

引入bootstrap-flask需要引入cssjs文件,步骤如下:

  1. 引入css文件,在<head>标签中插入以下代码:

{{ bootstrap.load_css() }}

  1. 引入js文件,在</body>标签前插入如下代码:

{{ bootstrap.load_js() }}

配置完成后,me.html的内容应该和下面相同:

<!doctype html>

{{ bootstrap.load_css() }}

{​{ title }}

{{ bootstrap.load_js() }}

修改路由和视图

正常情况下一个网站的 ‘/’ URL用于展示网站的主页,当前,我们还没有其他页面,可以先让/指向个人主页。于此同时,新增路由/me

改动步骤如下:

  1. hello()函数上面添加路由/me

  2. 修改hello()函数名称为me()

  3. 修改返回值,渲染对应的me.html

@app.route(‘/’)

@app.route(‘/me’)

def me():

return render_template(‘me.html’,title=“魏大大的个人主页”)

此时,访问//me都会跳转到我们的个人主页,可以尝试启动服务器:

(venv)~/hello_world$ flask run

启动后的输入和之前的hello_world没有什么区别,然后访问http://127.0.0.1:5000/me、或者http://127.0.0.1:5000/都会显示me.html页面,虽然页面当前还是空白的,但是标签处已经可以看到名称了,如下图:

02.me.html.png

提示:在render_template函数中传入的title值会直接替换me.html中的{{title}},这里属于jinja的语法范畴。

个人主页的内容

正常情况下,页面数据应该从数据库中读出,然后经过视图处理后,返回到HTML页面。

这里我们就用自定义的数据,通过me()函数返回到me.html页面然后展示出来,Json格式的数据是非常理想的数据格式。

我们将个人主页的内容分为四个部分:个人生平、光辉事迹、文章发表和网站运营四块。

直接展示最终结果吧:

03.screenshot.png

03.screenshot2.png
到点了,该下班了,代码部分都比较简单,也比较粗糙,需要代码的童鞋可以在这里下载。
如果没有币的童鞋可以直接留言给我,我可以发你邮箱,绝不收费!

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值