Flask 框架简单入门

Flask 框架简单入门Flask框架介绍Flask框架什么是Flask?flask是一种基于python,并且依赖于Jinja2模板引擎(提供网页解析)和WerkzeugWSGI服务(pythonweb应用与web服务之间的接口)的一种微型框架。其中:Jinja2模板引擎:通俗来讲就是服务器接收到用户请求之后,将数据传入HTML文件中后,经过模板引擎的渲染将其呈现在网页中响应给用户。WerkzeugWSGI:pythonweb应用程序是一个被调用的对象,它无法直接与web服务器直接建立联系,所以WS

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Flask框架介绍

Flask 框架

什么是Flask?

flask是一种基于python ,并且依赖于Jinja2模板引擎(提供网页解析)和 Werkzeug WSGI服务(python web应用与web 服务之间的接口)的一种微型框架。其中:

Jinja2模板引擎:通俗来讲就是服务器接收到用户请求之后,将数据传入HTML文件中后,经过模板引擎的渲染将其呈现在网页中响应给用户。

Werkzeug WSGI:python web 应用程序是一个被调用的对象,它无法直接与web 服务器直接建立联系,所以WSGI的功能就是提供程序与服务之间的通信。它规定了一个app接口,server会传递给 web 应用所有的请求信息以及响应之后需要调用的函数。

Flask 框架模式 –MTV
M(Models) —— 模型层:负责数据库的建模。
T(Templates) —— 模板层:用于处理用户显示的内容。如:html
V (Views)—— 视图层:处理与用户交互的部分内容。如:处理用户的请求并给出响应

用户在浏览器上请求地址,浏览器将请求发送给视图层,视图层根据请求地址分配对应的视图函数,视图函数通过模型层查找数据,并将数据传送给模板,最后模板层将数据响应在网页上。

flask的安装
在Linux 系统上:
pip3

sudo pip3 install flask

或pip

sudo pip install flask

Flask 简单程序入门

1 建立路由

客户端将请求发送给web服务器,web 服务器再将请求发送给flask 程序实例,程序实例需要知道每个url请求运行哪些代码,所以需要建立url到python 函数之间的映射,将url与需要被调用的函数建立联系。
在flask中,使用 @app.route() 来建立路由。

2 路由的基本表示
路由的基本表示

@app.route('/')
#/表示网站的根路径,在浏览器窗口输入 localhost:5000/ 进行访问

带参数的路由

基本带参路由,
flask中支持的数据类型转换器

类型转换器 作用
缺省 字符串型 但不能有/
int 整型
float 浮点型
path 字符串型,可以有/
@app.route('/show1/<name>')
#在浏览器输入 localhost:5000/show1/xxx 进行访问
def show1(name):
    #在函数中name表示的是地址栏上传递过来的参数
    return '<h1>姓名为:%s</h1>' % name

带多个参数的路由

@app.route('/show2/<name>/<age>')
def show2(name,age):
    return '<h1>姓名为:%s,年龄为:%s</h1>' % (name,age)

指定参数类型的路由

@app.route('/show3/<name>/<int:age>')
#在浏览器输入 localhost:5000/show1/xxx/data (data必须为数字)进行访问
def show3(name,age):
    return '<h1>姓名为:%s,年龄为:%d</h1>' % (name,age)

多URL的路由

@app.route('/')
@app.route('/index')
#在浏览器输入 localhost:5000/或者localhost:5000/index 进行访问
def index():
    return 'hello'

最后,来一个简单的flask程序

from flask import Flask
#将当前运行得到的主程序构建成Flask的应用,以便接收用户的请求,并给出响应
app = Flask(__name__)
#@app.route()Flask中的路由定义,定义用户的访问路径
#/表示的是整个网站的根路径
#def index() 表示匹配上@app.route()路径后的处理程序
#视图函数 :该类函数必须要有return。return后要给一个字符串或响应对象
@app.route('/')
def index():
    return "<h1>This is my first flask app</h1>"

if __name__ == '__main__':
    #运行Flask应用(启动Flask的服务),默认在本机开启的端口号是5000.
    #debug=True,是将当前的启动模式改为调试模式(开发环境中建议使用调试模式,生产环境中不允许使用)
    app.run(debug=True)

在网页上输入地址出现下图结果。

这是个人上课笔记和个人分析总结所得,如有错误望留言。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java框架都有哪些_Java框架内容:常用的框架有哪些?[通俗易懂]

    java框架都有哪些_Java框架内容:常用的框架有哪些?[通俗易懂]对于学Java的人来说,学习和了解框架是必修的,但是Java的框架比较多,并不需要全部都学,只要学几个常用的框架,在工作的时候就差不多够用了。今天小编就来给大家介绍一下Java常用的框架有哪些?需要优先学习哪几个?Java的框架主要有:SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。不过这十个我们不需要…

    2022年7月7日
    30
  • Mathpix | Typora | 实现快速公式编辑[通俗易懂]

    Mathpix | Typora | 实现快速公式编辑[通俗易懂]这篇文章是之前做过的一期视频的改进版本,写这个文章的原因有两个:1、mathpix的模式有所变化2、我发现了更简单的使用方法需要环境mathpixtyporawindows10使用介绍当我们遇到一个公式的时候,我们可以使用mathpix去截图获取其公式编码1、点击截图按钮,框出想要选择复制的公式2、选择好后,已自动copy好latex格式,手动选择copy也可3、打开typora,输入$$按回车,创建公式模块;也可以右键,插入公式4、将之前copy的latex

    2022年5月18日
    72
  • QTreeView使用总结7,右键菜单

    QTreeView使用总结7,右键菜单1,简介最开始我要做右键菜单时,理所当然的想到的是右键单击的信号,这样是可以的。后来发现原来Qt给QWidget提供了单独的菜单信号:voidcustomContextMenuRequested(constQPoint&amp;pos);不过需要先设置菜单策略,使用接口:setContextMenuPolicy(Qt::CustomContextMenu);2,菜单效果下面介绍一个示例,实现…

    2022年5月9日
    35
  • Deep Java Library_javaeye

    Deep Java Library_javaeye发现Google的Buzz更加适合与我,所以,很久JavaEye没有更新了。 http://www.google.com/buzz/longgeng 以后总结了Buzz再发布到这里

    2022年10月15日
    2
  • 家用计算机如何关机,win7如何快速关机_win7快速关机的方法

    家用计算机如何关机,win7如何快速关机_win7快速关机的方法现在阶段随着系统的不断更新 用户们的需求也是越来越多了 我们在追求开机速度的同时 也在追求着快速关机的功能 不然等到别人都走了 而自己的电脑还没有完全关闭的状态 很是烦人 那么 win7 系统怎么实现快速关机呢 可以通过设置注册表来实现快速关机 今天小编就来满足大家这一需求 具体方法 1 主要通修改注册表的方法来实现快速关机 在电脑上使用快捷键 win R 在弹出运行窗口中输入 regedit 2 按确

    2025年10月2日
    0
  • java学习——Java 动态代理机制分析

    越学越觉得自己不懂的越多!java的动态代理学习资料整理:Java 动态代理机制分析及扩展,第 1 部分: https://www.ibm.com/developerworks/cn/java/j-lo-proxy1/Java 动态代理作用是什么? https://www.zhihu.com/question/20794107Java动态代理机制详解(JDK 和CGLIB,Javassist,A

    2022年2月26日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号