如何理解Python全栈中的Flask


本篇文章给大家分享的是有关如何理解Python全栈中的Flask,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理。但是缺点也很明显,它偏重。就像是一个装潢好的房子,它提供好了你要用的东西,直接拿来用就可以。Flask相对于Django而言是轻量级的Web框架。和Django不同,Flask轻巧、简洁,通过定制第三方扩展来实现具体功能。可定制性,通过扩展增加其功能,这是Flask最重要的特点。Flask的两个主要核心应用是Werkzeug和模板引擎Jinja。WSGIWeb Server Gateway Interface(Web服务器网关接口,WSGI)已被用作Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。Werkzeug它是一个WSGI工具包,它实现了请求,响应对象和实用函数。这使得能够在其上构建web框架。 Flask框架使用Werkzeug作为其基础之一。jinja2jinja2是Python的一个流行的模板引擎。Web模板系统将模板与特定数据源组合以呈现动态网页。Flask通常被称为微框架。 它旨在保持应用程序的核心简单且可扩展。Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask支持扩展以向应用程序添加此类功能。一些受欢迎的Flask扩展将在本教程后续章节进行讨论。FlaskFlask扩展包:Flask-SQLalchemy:操作数据库Flask-migrate:管理迁移数据库Flask-Mail:邮件Flask-WTF:表单Flask-script:插入脚本Flask-Login:认证用户状态Flask-RESTful:开发REST API的工具Flask-Bootstrap:集成前端Twitter Bootstrap框架Flask-Moment:本地化日期和时间新建flask项目:运行如下:必须在项目中导入Flask模块。 Flask类的一个对象是我们的WSGI应用程序。Flask构造函数使用当前模块(__name __)的名称作为参数。以下是实例化一个Flask对象可填的参数,及其默认值:template_folder:模板所在文件夹的名字, 默认就是templatesroot_path:可以不用填,会自动找到,当前执行文件,所在目录地址在return render_template时会将上面两个进行拼接,找到对应的模板地址static_folder:静态文件所在文件的名字,默认是static,可以不用填static_url_path:静态文件的地址前缀,写成什么,访问静态文件时,就要在前面加上这个instance_path和instance_relative_config是配合来用的、这两个参数是用来找配置文件的,当用app.config.from_pyfile(‘settings.py’)这种方式导入配置文件的时候会用到instance_relative_config:默认为False,当设置为True时,from_pyfile会从instance_path指定的地址下查找文件。instsnce_path:指定from_pyfile查询文件的路径,不设置时,默认寻找和app.run()的执行文件同级目录下的instance文件夹,如果配置了instance_path(注意需要是绝对路径),就会从指定的地址下里面的文件Flask类的route()函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数。rule参数表示与该函数的URL绑定。options是要转发给基础Rule对象的参数列表。在上面的示例中,’/ ‘ URL与hello_world()函数绑定。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。application对象的add_url_rule()函数也可用于将URL与函数绑定,如下:最后,Flask类的run()方法在本地开发服务器上运行应用程序。host:监听的主机名post:监听的主机端口,默认5000debug:调试模式,默认false,设置为frue则显示调试信息options:要转发到底层的werkzeng服务器给路由传参示例:路由传递的参数默认当做string处理,这里指定int,还支持float,path,尖括号中冒号后面的内容是动态的。返回状态码示例:abort函数:如果在视图函数执行过程中,出现了异常错误,我们可以使用abort函数立即终止视图函数的执行。通过abort函数,可以向前端返回一个http标准中存在的错误状态码,表示出现的错误信息。使用abort抛出一个http标准中不存在的自定义的状态码,没有实际意义。如果abort函数被触发,其后面的语句将不会执行。其类似于python中raise。在Flask中通过装饰器来实现捕获异常,errorhandler()接收的参数为异常状态码。视图函数的参数,返回的是错误信息。重定向redirect示例:效果如下:这里再介绍一下url_for(),url_for()函数对于动态构建特定函数的URL非常有用。该函数接受函数的名称作为第一个参数,以及一个或多个关键字参数,每个参数对应于URL的变量部分。如下:HTTP方法:Http协议是万维网中数据通信的基础。在该协议中定义了从指定URL检索数据的不同方法。方法介绍:GET:以未加密的形式将数据发送到服务器获取响应内容POST: 用于将HTML表单数据上传到服务器PUT:用上传的内容替换目标资源的数据DELETE:删除由URL给出的目标资源的数据HEAD: 和GET方法相同,但没响应体默认情况下,Flask路由响应GET请求。但是,可以通过为route()装饰器提供方法参数来更改此首选项。为了演示在URL路由中使用POST方法,首先让我们创建一个HTML表单,并使用POST方法 香港云主机将表单数据发送到URL。login.htmlEnterName:loginok.htmlWC_public_flask.py以上就是如何理解Python全栈中的Flask,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。

相关推荐: 使用sort和uniq命令怎么实现集合操作

使用sort和uniq命令怎么实现集合操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。原理:前提是两个列表文件中各自的内容不能出现重复(否则可以sort -u处理下);cat命令将两个文件混…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/23 12:05
Next 08/23 12:08

相关推荐