Flask框架学习(持续更新)

文章目录

目录

文章目录

前言

一、Flask是什么

二、Flask基础

1.路由规则

2、Flask-Cors 解决跨域问题

3、Flask-Uploads 接受浏览器上传的文件

4、Flask蓝图功能

4.1 什么是flask蓝图

4.2 创建一个简单的蓝图例子

5、Flask模板语言

5.1 页面渲染

5.2 模板中的if for 语句

总结

前言

由于目标检测与追踪都是使用的python语言,但是我的整体框架是用的springboot。若将两者结合会比较困难,所以我选择使用flask框架来包装目标检测与追踪代码。然后最终部署到docker中,利用springboot来调用其webAPI。

一、Flask是什么

Flask是一个用Python编写的Web应用程序轻型框架,相较于Django更加容易掌握也更加灵活,并且支持MVC模型。由于本项目的不需要繁杂的操作,只需要简单的调用即可,所以这里选择更容易上手开发的flask。

二、Flask基础

1.路由规则

Flask中的 route()装饰器 装饰器用于将URL绑定到函数。

@app.route('/hi')
def hi():  # put application's code here
    return 'hi World!'

if __name__ == '__main__':
    app.run()

这里,URL /hello 规则绑定到 hi() 函数。 因此,如果用户访问URL: <span>http://localhost:5000/hello</span>,就会调用 <span>hi()</span> 函数,这个函数中的执行的结果输出将在浏览器中呈现。

@app.route('/hi', methods=['POST'])
def hi():  # put application's code here
    return 'hi World!'

也可以在后边加上methods=[‘POST’],来表示只接受POST请求,其他的GET请求等也可以按照此方式来应用

@app.route('/user/')
def hello_world(id):  # put application's code here
    if id == '1':
        return 'python'
    if id == str(2):
        return 'java'
    if int(id) == 3:
        return 'flask'
    return 'Hello World!'

注意此处传入的id为字符串,需要转换后进行比较。

2、Flask-Cors 解决跨域问题

pip install flask-cors

3、Flask-Uploads 接受浏览器上传的文件

随着业务代码的增加,将所有代码都放在app.py文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。所以我们按照模块划分WEB函数。

把不同功能的module分开。可以让应用模块化,针对大型应用。

4、Flask蓝图功能

4.1 什么是flask蓝图

  • 随着 Flask 程序越来越复杂,需要对程序进行模块化的处理
  • 蓝图 (Blueprint) 是 Flask 程序的模块化处理机制
  • 它是一个存储视图方法的集合
  • Flask 程序通过 Blueprint 来组织 URL 以及处理请求

4.2 创建一个简单的蓝图例子

创建下方文件

Flask框架学习(持续更新)

Flask框架学习(持续更新)

启动程序:

Flask框架学习(持续更新)

5、Flask模板语言

Flask支持动态页面技术,在后台渲染出动态的HTNML页面

Jinja2是python下一个被广泛应用的模板引擎,语法简单。

Flask中的模板文件存放在templates目录,图片,样式和脚本放在static目录中

Flask框架学习(持续更新)

5.1 页面渲染

WEB方法中,render_template()函数用来把模板文件渲染成动态的html

@user.route('/user/info')
def info():
    return render_template("user_info.html",
                           name="aaa",
                           age=29,
                           sex="男")

模板文件中,双大括号{{ 变量名 }}可以对模板进行插值


    info

    name:{{ name }}
    age:{{ age }}
    sex:{{ sex }}

结果:

Flask框架学习(持续更新)

5.2 模板中的if for 语句


    test

        {% for gift in gifts.values() %}
            {% if gift|length > 5 %}
                {{gift}}
            {% else %}
                {{gift}}
            {% endif %}
        {% endfor %}

在模板文件中,使用if判断,语法如下:
{% if 判断条件 %}
满足条件执行的语句
{% else %}
不满足执行的语句
{% endif %}
注意,和python的if语句不一样,模板中的if语句结束时,需要有 {% endif %}

在模板中,使用for循环语句如下:
{% for x in xx %}
执行的代码
{% endfor %}
注意,和python的for语句不一样,模板中的for语句结束时,需要有 {% endfor %}

总结

Original: https://blog.csdn.net/dayu199804/article/details/124620348
Author: dayu199804
Title: Flask框架学习(持续更新)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/745449/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球