一次python-flask蓝图的踩坑记录

 更新时间:2021年08月10日 11:46:00   作者:一只特立独行的兔先森  
简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能,在Flask中,使用蓝图可以帮助我们实现模块化应用的功能,这篇文章主要给大家介绍了关于python-flask蓝图踩坑的相关资料,需要的朋友可以参考下

一.简介

Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授权。
Flask被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

二.特色

学习python的朋友可能都听说过django与flask这两个框架,django重量级,flask轻量级,至于多么轻量呢,创建好flask初始化环境后,只需要仅仅几行的代码就可以运行:

from flask import Flask
app = Flask(__name__)

@app.route("/")					#定义路由地址
def hello():
    return "Hello World!"		#return为这个定义的函数所返回的信息

if __name__ == "__main__":		#这里可以直接写app.run,但不规范,简单理解,name中有个“接口”,main是这个接口的启动地址
    app.run()

而运行它也很简单:

python hello.py

三.flask规模化

轻量有轻量的好处,重有重的好处,我个人喜欢简单,所以学习python web就直接flask框架上手了,有过其它web编程经验的小伙伴应该都知道,一个项目的构建需要很多部分,比如后端的构建,分为view,api接口等,而flask并没有完全的给我们划分好这些模块,这就需要我们自己去构建了。

我们都知道一个web应用都需要“路由”功能,来连接寻找我们请求的地址,这个路由可能是静态或动态的,但功能都是通过前端用户访问的URL来返回前端所需要的信息,如上述代码,可以在app.py中定义多个路由,那如果有很多模块怎么办呢,比如:登录,发送信息,上传信息,验证信息等,不可能全部写在这一个文件中,如果被别人看见绝对会被揍。。。

四. flask Blueprint

关于启动文件引入其他文件中的模块的实现很简单,我们先来看一下:

# app.py		//这里是一个程序启动的入口文件
from flask import Flask
from view.api import api	#view为在当前目录下的目录下有个api模块,引入其中的api方法
from flask_cors import CORS	#这里是跨域解决方法,如果你本地搭建了其它服务来测试当前接口同一浏览器下是无法访问滴
run = Flask(__name__)

CORS(run)

run.register_blueprint(api)	#嵌入api模块
if __name__ == '__main__':
    run.run(debug=True)	

api模块:

#api.py

from flask import *	

api = Blueprint("api", __name__)	#告诉flask这个文件是“蓝图”,跨域在其他文件中引入

@api.route("/")				#把app.py下的根路由拿来过来
def index():
    return "hello world"	

@api.route("/api", methods=["POST", "GET"]) 	#定义路由与接受的请求方法
def test():			
    return "this is api router"

这里我们就可以运行起来测试了。

这里不知道有没有细心的人发现,我们为了记录模块更方便,一般都喜欢把名字命名为一样的,而这里有个坑,文件和目录还有文件内的程序名称都可以命名成与模块名字一样的,但定义函数的时候一定要更改名字,不然你会发现怎样都运行不起来...

总结

到此这篇关于python-flask蓝图踩坑的文章就介绍到这了,更多相关python-flask蓝图踩坑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python读写及压缩和解压缩文件的示例

    使用Python读写及压缩和解压缩文件的示例

    Python的os模块中提供了基本的文件读写方法,而zipfile模块则针对文件的压缩和解压缩操作,这里我们就来看一下使用Python读写及压缩和解压缩文件的示例:
    2016-07-07
  • PyCharm使用技巧之设置背景图片方式

    PyCharm使用技巧之设置背景图片方式

    这篇文章主要介绍了PyCharm使用技巧之设置背景图片方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Python调用pytdx的代码示例

    Python调用pytdx的代码示例

    本文主要介绍了Python调用pytdx的代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • python 教程之blinker 信号库

    python 教程之blinker 信号库

    这篇文章主要介绍了python 教程之blinker 信号库,文章基于python的相关资料展开详细的内容说明。具有一定的参考价价值,需要的小伙伴可以参考一下
    2022-05-05
  • python、PyTorch图像读取与numpy转换实例

    python、PyTorch图像读取与numpy转换实例

    今天小编就为大家分享一篇python、PyTorch图像读取与numpy转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python基础学习之时间转换函数用法详解

    Python基础学习之时间转换函数用法详解

    这篇文章主要介绍了Python基础学习之时间转换函数用法,结合实例形式分析了Python常见的日期时间获取、转换相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • Flask web开发处理POST请求实现(登录案例)

    Flask web开发处理POST请求实现(登录案例)

    这篇文章主要介绍了Flask web开发处理POST请求实现(登录案例),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python调用百度AI接口实现人流量统计

    python调用百度AI接口实现人流量统计

    这篇文章主要介绍了python调用百度AI接口实现人流量统计,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • python numpy中对ndarry按照index增删改查

    python numpy中对ndarry按照index增删改查

    这篇文章主要介绍了python numpy中对ndarry按照index增删改查,在numpy中的ndarry是一个数组,因此index就是位置下标,注意下标是从0开始,接下来一起进入下面文章了解详细内容吧
    2022-02-02
  • Pandas 计算相关性系数corr()方式

    Pandas 计算相关性系数corr()方式

    这篇文章主要介绍了Pandas 计算相关性系数corr()方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论