简介

Flask是一个非常小的PythonWeb框架,被称为微型框架;只提供了一个稳健的核心,其他功能全部是通过扩展实现的;意思就是我们可以根据项目的需要量身定制,也意味着我们需要学习各种扩展库的使用。

flask的安装

pip install flask

创建一个flask项目



目录结构如下

  • app.py

主文件,所有的操作都在该文件实现

  • static

静态文件存放地

  • templates

模板文件存放地

启动Flask

编写app.py

  1. from flask import Flask
  2. app = Flask(__name__) # 注册app
  3. # 路由设置
  4. @app.route('/')
  5. def hello_world(): # put application's code here
  6. return 'Hello World!'
  7. if __name__ == '__main__':
  8. app.run() # 启动服务

Flask路由学习

methods的使用

编写app.py

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route('/f12', methods=['GET'])
  4. def hello1(): # put application's code here
  5. return 'f12'
  6. @app.route('/f13', methods=['POST'])
  7. def hello2():
  8. return 'f13'
  9. @app.route('/f14', methods=['GET', 'POST'])
  10. def hello3():
  11. return 'f14'
  12. if __name__ == '__main__':
  13. app.run()

通过GET请求访问

通过POST请求访问



GET,POST请求都能访问

传参式路由访问

编写app.py,定义一个int:id表明传入一个int类型的值

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route('/<int:id>')
  4. def index(id):
  5. if id == 1:
  6. return 'first'
  7. elif id == 2:
  8. return 'second'
  9. elif id == 3:
  10. return 'third'
  11. else:
  12. return 'hello world!'
  13. if __name__ == '__main__':
  14. app.run()

request的使用

编写app.py

  1. from flask import Flask, request
  2. app = Flask(__name__)
  3. @app.route('/', methods=['GET', 'POST'])
  4. def index():
  5. return request.form.get('name')
  6. if __name__ == '__main__':
  7. app.run()

获取POST参数的内容并输出

重定向的使用

编写app.py

  1. import flask
  2. from flask import Flask, url_for
  3. app = Flask(__name__)
  4. @app.route('/', methods=['GET', 'POST'])
  5. def index():
  6. return flask.redirect(url_for("hello")) # 重定向到hello
  7. @app.route('/hello')
  8. def hello():
  9. return "你好 F12"
  10. if __name__ == '__main__':
  11. app.run()

访问会直接跳转到hello路由

模板使用

在templates文件夹下创建index.html文件

编写index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. Hello world
  9. </body>
  10. </html>

编写app.py

  1. import flask
  2. from flask import Flask, render_template
  3. app = Flask(__name__)
  4. @app.route('/', methods=['GET', 'POST'])
  5. def index():
  6. return render_template('index.html')
  7. if __name__ == '__main__':
  8. app.run()

模板变量使用

编写index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. {{ name }}
  9. </body>
  10. </html>

编写app.py

  1. import flask
  2. from flask import Flask, render_template, request
  3. app = Flask(__name__)
  4. @app.route('/', methods=['GET', 'POST'])
  5. def index():
  6. name = request.form.get('name')
  7. return render_template('index.html', name=name)
  8. if __name__ == '__main__':
  9. app.run()

Flask的简单学习的更多相关文章

  1. flask部署深度学习模型

    flask部署深度学习模型 作为著名Python web框架之一的Flask,具有简单轻量.灵活.扩展丰富且上手难度低的特点,因此成为了机器学习和深度学习模型上线跑定时任务,提供API的首选框架. 众 ...

  2. 使用Flask开发简单接口

    作为测试人员,在工作或者学习的过程中,有时会没有可以调用的现成的接口,导致我们的代码没法调试跑通的情况. 这时,我们使用python中的web框架Flask就可以很方便的编写简单的接口,用于调用或调试 ...

  3. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  4. shiro简单学习的简单总结

    权限和我有很大渊源. 培训时候的最后一个项目是OA,权限那块却不知如何入手,最后以不是我写的那个模块应付面试. 最开始的是使用session装载用户登录信息,使用简单权限拦截器做到权限控制,利用资源文 ...

  5. CentOS 简单学习 firewalld的使用

    1. centos7 开始 使用firewalld 代替了 iptables 命令工具为 firewall-cmd 帮助信息非常长,简单放到文末 2. 简单使用 首先开启 httpd 一般都自带安装了 ...

  6. Windows 下 Docker 的简单学习使用过程之一 dockertoolbox

    1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...

  7. 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习

    嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...

  8. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  9. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  10. Flask的简单认识

    Flask的简单认识 Flask是轻量级的框架,适用于简单的程序 与Django的比较: Django: 无socket,中间件,路由,视图(CBV,FBV),模板,ORM, cookie,sessi ...

随机推荐

  1. python的websockets库

    安装 pip install websockets 分为客户端和服务端两部分 服务端一般与异步的库一起用 因为客户端不可能只服务一个客户 所以要用异步处理多个客户 以asyncio示例 from we ...

  2. 探索 Web API:SpeechSynthesis 与文本语言转换技术

    一.引言 随着科技的不断发展,人机交互的方式也在不断演变.语音识别和合成技术在人工智能领域中具有重要地位,它们为残障人士和日常生活中的各种场景提供了便利.Web API 是 Web 应用程序接口的一种 ...

  3. jmeter编写java脚本

    jmeter开发java脚本主要的依赖包有三个如下图 步骤1 :打开idea,创建一个project,导入上图依赖包 步骤2:创建一个类,继承AbstractJavaSamplerClient类,并实 ...

  4. 使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析

    本文分享自华为云社区<基于Slurm集群的分布式图计算应用实践:Github协作网络影响力分析>,作者:yd_263841138 . 1. 引言 Slurm(Simple Linux Ut ...

  5. 如何用java的虚拟线程连接数据库

    我觉得这个很简单 首先确保你idea支持jdk21. 然后把idea编译成的目标字节码设置为21版本的 然后编写代码. 创建虚拟线程的方式有: Runnable runnable = () -> ...

  6. 有序对的LCP

    求\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n} LCP(s_i, s_j)\) 方法一 \(1.\)Trie . \(2.\)求\(cnt\),\(cnt[ ...

  7. [ABC274E] Booster

    Problem Statement In a two-dimensional plane, there are $N$ towns and $M$ chests. Town $i$ is at the ...

  8. SpringBoot发送虚拟请求~

    1.创建一个测试用的TestController @RestController public class TestController { @GetMapping("/test" ...

  9. springboot去除内嵌tomcat

    springboot去除内嵌tomcat步骤 在pom文件中加入以下代码 点击查看代码 <!-- 多模块排除内置tomcat --> <dependency> <grou ...

  10. 码农的转型之路-PLC异地组网与远程控制

    PLC异地组网与远程控制,需求是基于园子认识的朋友提供,大体是实现PLC多个局域网异地组网,并实现远程控制.大屏展示.手机端控制.预警推送等功能.其他就是可以方便二次开发界面,以满足不同客户的需求. ...