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

Flask入门

入门Flask 2023-01-31 00:01:04 845人浏览 独家记忆

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

摘要

本文参考博客:https://blog.csdn.net/xiaoyuan511?t=1 flask是轻量级的web开发框架,只具备基本的核心内容-->视图和路由,其他的功能都需要第三方或者自己手写 建立第一个Flask程序 pi

本文参考博客:https://blog.csdn.net/xiaoyuan511?t=1

flask是轻量级的web开发框架,只具备基本的核心内容-->视图和路由,其他的功能都需要第三方或者自己手写

建立第一个Flask程序

pip install flask 先下载flask

from flask import Flask

'''
__name__:表示当前的模块名字
创建Flask对象,Flask会以传入模块的位置当做家目录
'''
app = Flask(__name__)

@app.route('/')  # 路由 /代表首页
def hello_world():  # 视图函数
    return 'Hello World!'  # 返回内容
    
if __name__ == '__main__':
    app.run()  # 运行程序

参数配置

  • 配置文件
    • 在文件新建一个名字为config.cfg的文件,在里面写上一下语句,表示开启调试模式,帮助我们快速定位错误。

      DEBUG = True

    用from_pyfile()来加载配置文件

    app.config.from_pyfile('config.cfg')

  • 类方式
    class Config(object):
     DEBUG = True
    app.config.from_object(Config)
  • 直接操作

    app.config['DEBUG'] = True

  • 对象上配置

    app.debug = True

  • 运行时传入参数(该方法只限debug)

    app.run(debug=True) # 运行程序

取配置参数

  • app.config.get('参数的建的名字')
  • current_app.config.get()
  • 两种方法类似,第二种方法以后再说

路由

其实就是我们在浏览器输入地址后,后台进行匹配,如果匹配上,则执行此视图函数并返回内容
用app.route()的装饰器进行装饰到视图函数,匹配的内容是去掉域名和端口后面地址
Http://127.0.0.1:8000/index’
这个地址,去掉域名和端口后就剩下/index这部分内容,所有我们只要装饰/index就可以了。

@app.route('/index') # 代表首页

重定向
from flask import redirect, url_for
"""
redirect函数用于重定向。
url_for参数是视图函数函数的名字,它会根据视图函数的名字找到装饰次视图的路由。
"""
@app.route('/')
def index():
    return 'my index !'  
"""
methods=['POST','GET']
表示允许的请求方法
"""    
@app.route('/login',methods=['POST','GET'])  # 代表登录的路由
def login():
    return redirect(url_for('index'))
 # 登录后立即重定向到首页

转换器

转换器 含义
default 接受字符串,默认转换器
stirng 接受字符串,跟默认一样
int 接受整数
float 同 int 但是接受浮点数
uuid 唯一识别码
path 和默认的相似,但也接受斜线


源码可知转换器的匹配规则是正则

自定义转化器

在这里插入图片描述
源码里面有两个参数 需要记一下
在这里插入图片描述
to_python 每当使用装唤器就会调用
to_url 重定向时候才调用
具体的关系 可以参考这篇博客:

https://blog.csdn.net/xiaoyuan511/article/details/88540254

模板

项目的目录下新建一个templates的文件夹,来放置html页面
注意: 模板的文件名字(默认templates) 可以自己写
在这里插入图片描述
后台渲染模板的需要导入 render_template 函数
渲染方式: 在这里插入图片描述
在模板里使用变量 用 {{}}
在这里插入图片描述
判断 循环 用{% %}
在这里插入图片描述
过滤器
在这里插入图片描述
在这里插入图片描述
自定义过滤器
需要注册到flask的过滤器中
在这里插入图片描述
在页面中使用
在这里插入图片描述
自定义的过滤器是可以添加参数的 '%Y-%m-%d %H:%M' => 过滤器里的mode

Request

在flask中,request对象是一个全局的,在任何地方都可以使用。
这里比较简单 需要记住两种方式的取参的语法

  • GET
    • get 取参数用args 或者values
  • POST
    • get 取参数用args 或者values

Response

flask 有一个make_response()方法来返回一个HttpResponse对象 在这里插入图片描述
JSONify --> 返回json 数据格式
在这里插入图片描述

在来说一下cookie
我们都知道HTTP协议是无状态的请求协议,用户这次访问和下一次访问都是新的请求,它们之间是没任何关系的。但是我们需要知道上一次访问用户做了什么操作,就需要用到cookie。cookie是网站以键值对格式存储在浏览器中的一段纯文本信息,用于实现用户跟踪。cookie是基于域安全
我们通过set_cookie方法设置cookie

resp.set_cookie('age', "12")  # 设置cookie

通过get()取cookie

 age = request.cookies.get('age') # 如果没有值就返回 None
#  age = request.cookies['age'] 如果没有值或报错

设置过期时间

  1. max_age e是一个整数,表示在指定秒数后过期。
  2. expires datetime或timedelta对象,会话将在这个指定的日期/时间过期。
    以上两种方法二选一。
  3. 如果不指定过期时间,在关闭浏览器时cookie会过期。
    删除cookie
res.delete_cookie('nickname')  # 删除的cookie的本质就是改变cookie的过期时间
Session

除了cookie外还有一个叫session的机制。session也是可以存储一些信息的。对于一些敏感、重要的信息,我们可以存储到session中。谁也不希望自己的余额、银行卡密码存到cookie当中。
一般有两种存储session的格式

  • 将session数据加密 存在cookie里
  • 通过cookie存一个session_id 下次再请求的时候,根据session_id 查找存在服务器的session数据
  • 过期时间: 
    • session.permanent=True,那么就会默认在31天后过期。
    • app.config[‘PERMANENT_SESSION_LIFETIME’] = 100 (单位:秒)
  • 删除Session
    • session.pop(key)
    • del sessoin[key]
    • session.clear()

这里我们说存在服务器 (session) 的方式
flask 支持各种数据库中 我们最好存在Redis里 因为读写速度快
首先安装flask_session

pip install flask_session
pip install redis

相关配置:

from flask import Flask, session
import redis
from flask_session import Session

# 初始化Session对象
f_session = Session()

app = Flask(__name__)

app.config['SECRET_KEY'] = 'laowangaigebi'  # 加密的密钥
app.config['SESSION_USE_SIGNER'] = True  # 是否对发送到浏览器上session的cookie值进行加密
app.config['SESSION_TYPE'] = 'redis'  # session类型为redis
app.config['SESSION_KEY_PREFIX'] = 'session_myid'  # 保存到session中的值的前缀
app.config['PERMANENT_SESSION_LIFETIME'] = 7200  # 失效时间 秒
app.config['SESSION_REDIS'] = redis.Redis(host='127.0.0.1', port='6379', db=4)  # redis数据库连接

# 绑定flask的对象
f_session.init_app(app)

异常处理

Flask中,abort() 函数可以立即终止视图函数的执行,并且把相对应的错误信息返回给前端

from flask import Flask, abort

app = Flask(__name__)


@app.route('/login/<phone>')
def index(phone):
    if phone != '123456':
        abort(502)  # 立即停止视图函数执行,并把异常返回
    return phone


if __name__ == '__main__':
    # 0.0.0.0代表任何能代表这台机器的地址都可以访问
    app.run(host='0.0.0.0', port=5000, debug=True)  # 运行程序

注意abort里面的状态码必须就是HTTP状态码,不能自己随便写

ok!flask 第一阶段到这里就结束了

本文参考博客:https://blog.csdn.net/xiaoyuan511?t=1

--结束END--

本文标题: Flask入门

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

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

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

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

下载Word文档
猜你喜欢
  • Flask入门
    本文参考博客:https://blog.csdn.net/xiaoyuan511t=1 Flask是轻量级的Web开发框架,只具备基本的核心内容-->视图和路由,其他的功能都需要第三方或者自己手写 建立第一个Flask程序 pip...
    99+
    2023-01-31
    入门 Flask
  • Python Flask入门
    目录主页分析代码:修改视图函数返回值修改URL规则修改视图函数名总结追溯到最初,Flask 诞生于 Armin Ronacher 在 2010 年愚人节开的一个玩笑。后来,它逐渐发展...
    99+
    2024-04-02
  • 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
  • Python Flask入门之模板
    目录模板基本语法 编写主页模板 准备虚拟数据 渲染主页模板 总结在一般的 Web 程序里,访问一个地址通常会返回一个包含各类信息的 HTML 页面。因为我们的程序是动态的,页面中的某...
    99+
    2024-04-02
  • Flask入门Web微框架HelloFlask
    目录一、安装及简单Flask1、创建示例程序2、代码分解2.1 导入并实例化了Flask类2.2 注册路由2.3启动Web服务器 前言: Flask 是一个 Python 实现的 W...
    99+
    2024-04-02
  • 怎么进行Python Flask入门
    这篇文章将为大家详细讲解有关怎么进行Python Flask入门,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。追溯到最初,Flask 诞生于 Armin Ronacher 在 2010 年愚...
    99+
    2023-06-25
  • 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中的flask框架Jinja 模板入门教程
    目录1、快速体验2、Flask 最小 DEMO3、模板继承4、Super Blocks5、Macros6、自定义过滤器7、结论Flask 和 Django 附带了强大的 Jinja ...
    99+
    2024-04-02
  • Pycharm+Flask零基础项目搭建入门的实现
    目录创建项目Flask安装hello flask返回html第一种 遵循jinjia2第二种 flask实例化指定模板位置返回jsonFlask在Python web开发中虽然热度低...
    99+
    2023-05-14
    Pycharm Flask项目搭建 pycharm搭建flask项目
  • 入门Python必备:Flask安装详细教程助你快速上手
    Python初学者的必备:详细教程带你快速安装Flask Flask是一款简单、轻量级的Python web框架,它被广泛应用于开发Web应用和API。对于初学者来说,安装Flask是...
    99+
    2024-02-25
    python 教程 初学者 python脚本
  • Flask全套知识点从入门到精通,学完可直接做项目
    目录 Flask入门 运行方式  URL与函数的映射(动态路由)  PostMan的使用  查询参数的获取 上传文件  其它参数 url_for 函数  响应-重定向 响应-响应内容 响应-自定义响应 Flask模板 模板介绍  模板的使...
    99+
    2023-08-31
    flask python 后端
  • 如何快速入门部署自己的Flask程序(本地+云服务器)?
    一、需求背景:人工智能训练好的模型model,需要放到服务器上,作为基础能力提供给应用侧,否则model只能中电脑本地处理。那么怎么解决这个部署到服务器上的问题呢? 二、解决思路:web应用部署,有3种主流的方式, Django:大而全,集...
    99+
    2023-09-09
    flask 服务器 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作