iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python Flask入门
  • 509
分享到

Python Flask入门

2024-04-02 19:04:59 509人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录主页分析代码:修改视图函数返回值修改URL规则修改视图函数名总结追溯到最初,flask 诞生于 Armin Ronacher 在 2010 年愚人节开的一个玩笑。后来,它逐渐发展

追溯到最初,flask 诞生于 Armin Ronacher 在 2010 年愚人节开的一个玩笑。后来,它逐渐发展成为一个成熟的 python WEB 框架,越来越受到开发者的喜爱。

Flask 是典型的微框架,作为 Web 框架来说,它仅保留了核心功能:请求响应处理和模板渲染。这两类功能分别由 Werkzeug(WSGI 工具库)完成和 Jinja(模板渲染库)完成。

主页

主页的 URL 一般就是根地址,即 / 。


from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return 'Welcome to my web'
 if __name__=="__main__":
    app.run()

在这里插入图片描述

现在打开浏览器,访问 Http://localhost:5000 即可访问我们的程序主页

分析代码:

1、首先我们从 flask 包导入 Flask 类,通过实例化这个类,创建一个程序对象app :


from flask import Flask
app = Flask(__name__)

2、接下来,我们要注册一个处理函数,这个函数是处理某个请求的处理函数,Flask官方把它叫做视图函数(view funciton)。所谓的“注册”,就是给这个函数戴上一个装饰器帽子。我们使用 app.route() 装
饰器来为这个函数绑定对应的 URL,当用户在浏览器访问这个 URL 的时候,就会触发这个函数,获取返回值,并把返回值显示到浏览器窗口:


@app.route('/')
def hello():
    return 'Welcome to my web'

提示:为了便于理解,你可以把 Web 程序看作是一堆这样的视图函数的集合:编写不同的函数处理对应 URL 的请求。
填入 app.route() 装饰器的第一个参数是 URL 规则字符串,这里的“/” 指的是根地址。我们只需要写出相对地址,主机地址、端口号等都不需要写出。所以说,这里的“/” 对应的是主机名后面的路径部分,完整 URL 就是 “http://localhost:5000/”。如果我们这里定义的 URL 规则是 “/hello” ,那么完整 URL 就是“http://localhost:5000/hello”。

整个请求的处理过程如下所示:

1.当用户在浏览器地址栏访问这个地址,在这里即 http://localhost:5000/

2. 服务器解析请求,发现请求 URL 匹配的 URL 规则是 / ,因此调用对应的处
理函数 hello()

3. 获取 hello() 函数的返回值,处理后返回给客户端(浏览器)

4. 浏览器接受响应,将其显示在窗口上

修改视图函数返回值

首先,你可以自由修改视图函数的返回值,返回值作为响应的主体,默认会被浏览器作为 html 格式解析,所以我们可以添加一个 HTML 元素标记:


@app.route('/')
def hello():
    return '<h1>Hello Totoro!</h1><img src="http://helloflask.com/totoro.gif">'

保存修改后,只需要在浏览器里刷新页面,你就会看到页面上的内容也会随之变化。

修改 URL 规则

另外,你也可以自由修改传入 app.route 装饰器里的 URL 规则字符串,但要注意以斜线 / 作为开头。比如:


@app.route("/HelloWorld")
def hello_word():
    return "hello world"

保存修改,这时刷新浏览器,则会看到一个 404 错误提示,提示页面未找到(Page Not Found)。这是因为视图函数的 URL 改成了 “/HelloWorld” ,而我们刷新后访问的地址仍然是旧的 “/” 。如果我们把访问地址改成“http://localhost:5000/home”,就会正确看到返回值。

一个视图函数也可以绑定多个 URL,这通过附加多个装饰器实现,比如:


@app.route('/')
@app.route('/index')
@app.route("/HelloWorld")
def hello_word():
    return "hello world"

现在无论是访问 “http://localhost:5000/”、“http://localhost:5000/HelloWorld” 还是“http://localhost:5000/index” 都可以看到返回值。

在前面,我们之所以把传入 app.route 装饰器的参数称为 URL 规则,是因为我们也可以在 URL 里定义变量部分。比如下面这个视图函数会处理所有类似“/user/” 的请求:


app.route('/user/<name>')
def user_page(name):
    return 'User page'

不论你访问 “http://localhost:5000/user/Tom”,还是“http://localhost:5000/user/Jerry”,都会触发这个函数。通过下面的方式,我们也可以在视图函数里获取到这个变量值:


@app.route('/user/<name>')
def user_page(name):
    return 'User: %s' % name

修改视图函数名

最后一个可以修改的部分就是视图函数的名称了。首先,视图函数的名字是自由定义的,和 URL 规则无关。和定义其他函数或变量一样,只需要让它表达出所要处理页面的含义即可。

除此之外,它还有一个重要的作用:作为代表某个路由的端点(endpoint),同时用来生成 URL。对于程序内的 URL,为了避免手写,Flask 提供了一个 url_for函数来生成 URL,它接受的第一个参数就是端点值,默认为视图函数的名称:


from flask import url_for, Flask
 app = Flask(__name__) 
@app.route('/')
def hello():
    return 'Hello' 
@app.route('/user/<name>')
def user_page(name):
    return 'User: %s' % name 
@app.route('/test')
def test_url_for():
    print(url_for('hello'))  # 输出:/
    # 注意下面两个调用是如何生成包含 URL 变量的 URL 的
    print(url_for('user_page', name='Tom'))  # 输出:/user/Tom
    print(url_for('user_page', name='Jerry'))  # 输出:/user/Jerry
    print(url_for('test_url_for'))  # 输出:/test
    # 下面这个调用传入了多余的关键字参数,它们会被作为查询字符串附加到 URL后面。
    print(url_for('test_url_for', number=2))  # 输出:/test?number=2
    return 'Test page' 
if __name__=="__main__":
    app.run()

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Python Flask入门

本文链接: https://www.lsjlt.com/news/157099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python Flask入门
    目录主页分析代码:修改视图函数返回值修改URL规则修改视图函数名总结追溯到最初,Flask 诞生于 Armin Ronacher 在 2010 年愚人节开的一个玩笑。后来,它逐渐发展...
    99+
    2024-04-02
  • Flask入门
    本文参考博客:https://blog.csdn.net/xiaoyuan511t=1 Flask是轻量级的Web开发框架,只具备基本的核心内容-->视图和路由,其他的功能都需要第三方或者自己手写 建立第一个Flask程序 pip...
    99+
    2023-01-31
    入门 Flask
  • Python Flask入门之模板
    目录模板基本语法 编写主页模板 准备虚拟数据 渲染主页模板 总结在一般的 Web 程序里,访问一个地址通常会返回一个包含各类信息的 HTML 页面。因为我们的程序是动态的,页面中的某...
    99+
    2024-04-02
  • 怎么进行Python Flask入门
    这篇文章将为大家详细讲解有关怎么进行Python Flask入门,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。追溯到最初,Flask 诞生于 Armin Ronacher 在 2010 年愚...
    99+
    2023-06-25
  • Flask简介&入门
    1 了解框架 Flask作为Web框架,它的作用主要是为了开发Web应用程序。那么我们首先来了解下Web应用程序。Web应用程序 (World Wide Web)诞生最初的目的,是为了利用互联网交流工作文档。   1.1 一切从客户端发起...
    99+
    2023-01-31
    入门 简介 Flask
  • flask入门补充
      在上篇文章提到了json的编码问题。那么Flask是国外开发的框架,没有考虑到中文编码,那么我们就需要自己配置   那么在访问页面的时候会有 get 请求和post  请求。在下边我也会提到。以及没有接触过编程的,我会推荐一个软件, ...
    99+
    2023-01-30
    入门 flask
  • Flask 入门教程
    Flask 入门教程 一、Flask简单使用 1、准备环境 硬件:Windows 7+python 3.6+安装软件:pycharm安装(社区版)、python环境安装 2、简单的Flask应用 本地...
    99+
    2023-10-07
    flask python 后端
  • Flask入门第三天
      一、数据库操作   1,orm orm(object-Relation Mapping),对象-关系映射,主要实现模型对象到关系数据库数据的映射。 优点: - 只需要面向对象编程, 不需要面向数据库编写代码. - 对数据库的操作...
    99+
    2023-01-31
    门第 Flask
  • Flask入门很轻松 (一)
    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10956837.html Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug ...
    99+
    2023-01-31
    入门 轻松 Flask
  • Flask入门很轻松 (二)
    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10959454.html 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接; 在请求...
    99+
    2023-01-31
    入门 轻松 Flask
  • Flask入门Web微框架HelloFlask
    目录一、安装及简单Flask1、创建示例程序2、代码分解2.1 导入并实例化了Flask类2.2 注册路由2.3启动Web服务器 前言: Flask 是一个 Python 实现的 W...
    99+
    2024-04-02
  • python中的flask框架Jinja 模板入门教程
    目录1、快速体验2、Flask 最小 DEMO3、模板继承4、Super Blocks5、Macros6、自定义过滤器7、结论Flask 和 Django 附带了强大的 Jinja ...
    99+
    2024-04-02
  • Flask入门很轻松(三)—— 模板
    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10959471.html Flask内置的模板语言,它的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能。 渲...
    99+
    2023-01-31
    入门 模板 轻松
  • Flask入门到放弃(四)—— 数据库
    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10979970.html ORM ORM 全拼Object-Relation Mapping,中文意为 对象-关系映射。主要实现模型对象...
    99+
    2023-01-31
    入门 数据库 Flask
  • Flask入门之完整项目搭建
      一、创建虚拟环境   1,新建虚拟环境   cmd中输入:mkvirtualenv 环境名   2,在虚拟环境安装项目运行所需要的基本模块 pip install flask==0.12.4 pip install redis pi...
    99+
    2023-01-31
    入门 完整 项目
  • Flask入门系列Cookie与session的介绍
    目录一、Cookie的使用1、什么是Cookie2、在Flask中使用Cookie二、session的使用1、什么是session2、Flask中的session对象3、在Flask...
    99+
    2024-04-02
  • Python入门
    ---恢复内容开始---   在这章中,我了解到了计算机的概念、Python的发展史以及Python语言的版本之间的区别,并自己安装了Python的编辑器。通过安装Python编辑器,我认识到安装软件也可以在官网上安装。     在第...
    99+
    2023-01-30
    入门 Python
  • python 入门
    1、 python 脚本的编写   文件:hello.py   第一步:在第一行添加  #!/usr/bin/env python #!/usr/bin/env python3 print("hello world");    第二步...
    99+
    2023-01-30
    入门 python
  • 入门Python必备:Flask安装详细教程助你快速上手
    Python初学者的必备:详细教程带你快速安装Flask Flask是一款简单、轻量级的Python web框架,它被广泛应用于开发Web应用和API。对于初学者来说,安装Flask是...
    99+
    2024-02-25
    python 教程 初学者 python脚本
  • python django入门
    目录1.mvc vs mvtmvc:mvt:2.虚拟环境3.安装包4.创建django项目5.创建应用6.模型ORM选项 说明7.后台管理系统(站点管理)1.mvc vs mvt m...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作