先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)

正文

在 app.py 文件中写入以下代码:

~/ahoh/app.py

from flask import Flask

app = Flask(name)

@app.route(‘/’)

def index():

return ‘你好, Flask’

你可以选择使用Vim,也可以选择VSCode和PyCharm等集成开发工具。

到这里为止,整个Hello World项目就写完了,真是太容易了。

下面就要跑起来我的Hello World项目,只需要在命令行中输入flask run:

(venv)~/ahoh$ flask run # 启动Flask应用

Environment: production

WARNING: This is a development server. Do not use it in a production deployment.

Use a production WSGI server instead.

Debug mode: off Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

如果输出和上面一样,很有可能就是成功了,这个时候,只需要在浏览器中输入127.0.0.1:5000就能访问网站了!

你的结果和我一样吗?为了写这个小项目,我还专门搭建了项目论坛:www.ahoh.club ,欢迎来访!(这不是广告,里面只有我一个人,哈哈哈)

2. 你好,HTML

上小节中,我已经成功让Hello World项目输出了你好,Flask,但这绝不是我最终的要求。

我想要的必然是花里胡哨的网页,也就是HTML页面。

既然需要HTML,那就直接写个HTML代码,并通过/html访问新的HTML页面,在app.py中追加代码如下:

~/ahoh/app.py

@app.route(‘/html’)

def html():

html_str = “”"

HTML页面

我的第一个HTML页面

Oh,我的老天爷啊,这真是一个了不得的项目,我向上帝保证这是真的。

“”"

return html_str

然后,使用flask run命令重新启动Ahoh项目,在浏览器中输入127.0.0.1/html,就可以看到一个简单的HTML页面了!

虽然已经可以看到了HTML页面,还存在一个严重的问题:哪个小傻瓜还会在业务代码里面写HTML呢?

常规情况下,HTML都是存储在.html文件中的,和业务代码隔离,还好Flask早就想好处理方式。

在Flask中,所有的HTML文件默认存储在templates文件夹下,所以,需要先创建templates文件夹,然后在文件夹内创建HTML文件,这里我就创建一个hello.html文件。

(venv)~/ahoh$ mkdir templates # 创建templates文件夹

(venv)~/ahoh$ touch templates/hello.html # 创建html文件

然后将上面例子中html_str中的值复制到hello.html文件中,然后稍作修改,如下:

HTML页面

我的第二个HTML页面

How Are You, Savior

首先,在app.py文件的头部引入render_template函数:

from flask import render_template

然后,在app.py 中追加新的路由函数,访问路径就定为/hello:

~/ahoh/app.py

@app.route(‘/hello’)

def hello():

return render_template(‘hello.html’)

这样,就完成了hello.html文件的添加,此时,使用flask run重启服务,在浏览器中输入地址127.0.0.1:5000/hello就能看到第二个HTML页面了!

这里,我们使用了一个新的函数render_template(),这个函数可以直接渲染HTML文件,不需要我们从文件中读出HTML代码后再返回,后面我们使用的Jinja模板也需要通过这个函数渲染。

3. 你好,Jinja

截至小节2,我们已经可以成功的利用Flask返回一个HTML页面了。

但是,当前的页面只是一个静态的HTML,文件中的内容都是写死了的,这当然不是我想要的结果。

这里就要引入Flask默认的HTML模板引擎Jinja。

在templates文件夹中,新建jinja.html文件,然后将hello.html中的内容复制过去,并稍作更改。

如下:

Jinja页面

我的第一个Jinja页面

How Are You, {{name}}

然后,在app.py中新建一个路由函数(视图函数),即追加如下代码:

~/ahoh/app.py

@app.route(‘/jinja’)

def jinja():

return render_template(‘jinja.html’,name=‘Jinja’) # 使用name='Jinja’向HTML中传入值

这里,我们就成功的创建了一个动态的页面,在视图函数中,修改name的值,前端HTML就会做出相应的变化。

而name的值,从后端(视图中)传递到前端(HTML页面中)也非常的简单,只需要在render_templates()函数中增加一个参数就可以了。

到这里就结束了吗?当然,没有,我们虽然创建了一个使用Jinja的HTML页面,也实现了从后端向前端传递参数,可以动态的修改页面,但是,如何从前端向后端传递参数呢?

在templates文件夹中创建文件新的HTML页面,命名为:para.html,然后将jinja.html中的内容复制过去,并稍作修改,如下:

参数传递

传递参数页面

How Are You, {{name}}

然后在app.py中创建一个新的视图函数,在app.py文件中追加如下内容:

~/ahoh/app.py

@app.route(‘/para’)

@app.route(‘/para/string:name’)

def para(name=‘God’):

return render_template(‘para.html’,name=name)

现在,就可以重启Ahoh应用,然后在浏览器地址栏中输入127.0.0.1:5000/para/老天爷,效果如下:

这种传递参数的方式是通过URL路径传递,可能大多数人更熟悉的是使用?para_name=value的方式,在Flask中同样是可以用的,不过需要在视图函数中使用request.args.get('para_name')的方式获取传递的值。

感兴趣的童鞋赶快去试试吧,不会做可以留言讨论呦。

4. 你好,templates

最后,也是本文的重点内容,疲倦的同志提提神了!Jinja模板的引入。

经过第3小节的学习,相信童鞋们都已经非常清楚,如何添加一个HTML页面,并创建对应的视图函数了。

但是,有一个问题,当我创建一个HTML页面的时候,都要完整的在文件中写入一个页面的代码。

而这些代码,大部分情况下都是重复的。

通常情况下,一个页面的HTML代码是非常长的,如果每次建立新的页面会非常浪费时间。

我希望有一种类似于类继承的机制,可以避免重复代码的出现,这就是Jinja的模板机制。

首先,我需要先创建一个基础模板,类似于Python或者Java的基类。

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)

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

而这些代码,大部分情况下都是重复的。

通常情况下,一个页面的HTML代码是非常长的,如果每次建立新的页面会非常浪费时间。

我希望有一种类似于类继承的机制,可以避免重复代码的出现,这就是Jinja的模板机制。

首先,我需要先创建一个基础模板,类似于Python或者Java的基类。

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python) [外链图片转存中…(img-Gtvaosl1-1713207187345)]

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

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: