1. 首页

连载:小白学Flask第一天 | 我的第一个Flask程序

本文主要内容

  1. HTTP相关知识
  2. 认识一下Flask
  3. 第一个Flask程序

一、HTTP相关内容

关于这一部分,我之前写过专门的一篇文章,建议大家跳转过去看一下。

关于HTTP协议的那些东西!

这里我也就不多说了。

二、认识Flask框架

相信大部分人进来读这篇文章是因为以前没接触过Flask框架,这里我给大家介绍一下这个框架。

Flask是一个Web框架,它的作用主要是为了开发Web应用程序,Web大家应该都了解,就是网页。所以说我们学完了Flask就可以自己写个小网站了。

Flask是一个轻量级的框架,它不像Django那么的重量级(大家自行百度Django),但是不管是轻量级还是重量级都有它们各自的优缺点,我们即将学习的Flask就有着自由、灵活、高度定制的优点。

按照正常套路,这个时候应该讲讲它的历史,也算是给大家普及一点知识:

Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。它主要面向需求简单的小应用。

Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login),都需要用第三方的扩展来实现。比如可以用Flask-extension加入ORM、窗体验证工具,文件上传、身份验证等。Flask没有默认使用的数据库,你可以选择MySQL,也可以用NoSQL。其 WSGI 工具箱采用 Werkzeug(路由模块) ,模板引擎则使用 Jinja2 。

可以说Flask框架的核心就是Werkzeug和Jinja2。

Python最出名的框架要数Django,此外还有Flask、Tornado等框架。虽然Flask不是最出名的框架,但是Flask应该算是最灵活的框架之一,这也是Flask受到广大开发者喜爱的原因。

(摘自网络)

历史咱们看完了,来说说Flask本身,Flask框架提供了很多的扩展包给我们开发者:

  • Flask-SQLalchemy:操作数据库;

  • Flask-migrate:管理迁移数据库;

  • Flask-Mail:邮件;

  • Flask-WTF:表单;

  • Flask-script:插入脚本;

  • Flask-Login:认证用户状态;

  • Flask-RESTful:开发REST API的工具;

  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;

  • Flask-Moment:本地化日期和时间;

这些扩展包极大的方便了我们的开发。

这里我还得讲讲自己对于Flask的小见解,我非常建议大家去学习这个框架是因为我们每个人除了要去掌握那些重量级开发框架之外(Django),还是得去学习一些轻量级的框架,这样有利于我们有时忽然急需要某种东西时,能够快速的用上。

这里还提供Flask的官方文档:

中文文档: http://docs.jinkan.org/docs/flask/

英文文档: http://flask.pocoo.org/docs/0.11/

当然不是每个人看了官方文档就一定能掌握,所以还是要来看看我写的这系列教程。

三、动手写第一个Flask项目

开发Flask程序,我建议大家使用pycharm,非常的方便。

我们进入pycharm,创建我们的第一个Flask项目

Flask项目

点击Create之后,我们就创建了第一个Flask项目


from flask import Flask # 创建Flask的应用对象 app = Flask(__name__) # __name__ 就是当前模块的名字 # 装饰器,绑定视图函数的路径 @app.route('/') def hello_world(): # 视图函数 return 'Hello World!' if __name__ == '__main__': # 运行本地服务器进行测试flask程序 app.run()

上面是我们创建第一个模板的代码,我这里给大家讲解一下。

先看到

app = Flask(__name__) # __name__ 就是当前模块的名字

在注释中,我也写了name表示当前模板的名字,那么我们传这个参数进去的意义何在?其实当我们传进我们当前模板名字之后,Flask就会默认当前模板所在的目录为整个项目的总目录,static为该项目的静态文件目录,templates为当前项目的模板目录。

再看到这一部分

# 装饰器,绑定视图函数的路径
@app.route('/')
def hello_world():
    # 视图函数
    return 'Hello World!'

这是我们所写的一个视图函数,这里可以处理前端返回给我们的数据,由于我们刚入门,所以这里我们直接返回一个Hello World!

最后


if __name__ == '__main__': # 运行本地服务器进行测试flask程序 app.run()

app.run() 我们运行这一句话时,Flask会启动一个web服务器来运行我们的程序

我们直接在pycharm里面运行这个程序:

运行结果

连载:小白学Flask第一天 | 我的第一个Flask程序
可以看到我们的程序就这样运行起来了。

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文来源于网络,其版权属原作者所有,如有侵权,请与小编联系,谢谢!

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:连载:小白学Flask第一天 | 我的第一个Flask程序

链接:https://www.javascriptc.com/234.html

原文链接:https://mp.weixin.qq.com/s?__biz=MzU2NTczODU3NA==&mid=2247484920&idx=1&sn=23bd7dad1b6e6de7838c9aea3d94cd36&chksm=fcb668d9cbc1e1cfe756431b340143dee50c5395a0f38ab6c1eb87bd324848eff7ba886fdaa1&scene=21#wechat_redirect

« 连载:小白学Flask第二天| app对象的初始化和配置
Python模拟登录淘宝都实现了,你还怕模拟登录?»
Flutter 中文教程资源

相关推荐

QR code