python轻量级web框架flask初探,搭建网站原来这么简单

这篇具有很好参考价值的文章主要介绍了python轻量级web框架flask初探,搭建网站原来这么简单。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,前后端开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,linux,shell脚本等实操经验,网站搭建,面试宝典等分享。

所属的专栏:flask框架零基础,进阶应用实战教学
景天的主页:景天科技苑

1.flask简介

Flask诞生于2010年,是Armin ronacher(阿明·罗纳彻)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。
比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。
Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

flask的 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。Itsdangrous(token加密模块),Click(终端命令管理工具),flask内核本身,这5个核心模块组成 Flask 框架。

官网: https://flask.palletsprojects.com/en/3.0.x/
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

官方文档: [https://dormousehole.readthedocs.io/en/latest/index.html]
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

Flask常用第三方扩展包:

  • Flask-SQLAlchemy:操作数据库,ORM;
  • Flask-script:终端脚本工具,脚手架; ( 淘汰,官方内置脚手架:Click)
  • Flask-migrate:管理迁移数据库;
  • Flask-Session:Session存储方式指定;
  • Flask-Mail:邮件;
  • Flask-Login:认证用户状态;(django内置Auth模块,用于实现用户登录退出,)
  • Flask-OpenID:认证, OAuth;(三方授权,)
  • Flask-RESTful:开发REST API的工具;
  • Flask JSON-RPC: 开发json-rpc远程服务[过程]调用
  • Flask-Bable:提供国际化和本地化支持,翻译;
  • Flask-Moment:本地化日期和时间
  • Flask-Admin:简单而可扩展的管理接口的框架
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架(前后端分离,除了admin站点,基本不用这玩意)
  • Flask-WTF:表单生成模块;(前后端分离,除了admin站点,基本不用这玩意)
  • Flask-Marshmallow:序列化(类似django restframework的序列化器,比django的更好用)

可以通过 https://pypi.org/search/?c=Framework+%3A%3A+Flask
查看更多flask官方推荐的扩展
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

准备
安装flask,则以下命令:
pip install flask
我装过了,目前最新版本是3.0.2
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

2.创建flask项目

与django不同,flask不会提供任何的自动操作,所以需要手动创建项目目录,需要手动创建启动项目的管理文件

例如,手动创建项目目录 flaskdemo,在目录中创建manage.py,在pycharm中打开项目并指定上面创建的虚拟环境

1.创建程序入口文件

manage.py是flask框架的启动入口文件。名字可以是app.py/run.py/main.py/index.py/manage.py/start.py
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

manage.py,代码:

# 1. 导入flask核心类
from flask import Flask

# 2. 初始化web应用程序的实例对象,__name__拿到的就是当前文件名
app = Flask(__name__)


# 4. 可以通过实例对象app提供的route路由装饰器,绑定视图与uri地址的关系
@app.route("/")
def index():
    # 5. 默认flask支持函数式视图,视图的函数名不能重复,否则报错!!!
    # 视图的返回值将被flask包装成响应对象的HTML文档内容,返回给客户端。
    return "<h1>hello flask</h1>"


if __name__ == '__main__':
    # 3. 运行flask提供的测试web服务器程序,端口号默认是5000,开启debug之后,只要修改代码,服务都会自动重启
    app.run(host="0.0.0.0", port=5000, debug=True)

看下源码,host默认是127.0.0.1,port默认是5000
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

2.运行程序

python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

3.浏览器访问网站

在浏览器输入flask运行提供的url
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

3.代码分析

我们看下Flask的参数
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站

# 导入Flask类
from flask import Flask

"""
Flask类的实例化参数:
import_name      Flask程序所在的包(模块),传 __name__ 就可以,这个是必填项,其他都非必须
                           其可以决定 Flask 在访问静态文件时查找的路径

static_url_path    静态文件的url访问路径,可以不传,默认为:/ + static_folder
static_folder        静态文件存储的文件夹,可以不传,默认为 static
template_folder  模板文件存储的文件夹,可以不传,默认为项目根目录下的 templates文件夹
"""
app = Flask(__name__)

# 编写路由视图
# flask的路由是通过给视图添加装饰器的方式进行编写的。当然也可以分离到另一个文件中。
# flask的视图函数,flask中默认允许通过return返回html格式数据给客户端。
@app.route('/')
def index():
    # 返回值如果是字符串,被自动作为参数传递给response对象进行实例化返回客户端
    return "<h1>hello flask</h1>"

# 指定服务器IP和端口
if __name__ == '__main__':
    # 运行flask
    app.run(host="0.0.0.0", port=5000, debug=True)

4.项目中flask加载项目配置的二种方式

# 1. 导入flask核心类
from flask import Flask

# 2. 初始化web应用程序的实例对象
app = Flask(__name__)

"""第一种:flask项目加载站点配置的方式"""  配置项属性名要大写
# app.config["配置项"] = 配置项值
# app.config["DEBUG"] = False

"""第二种:flask项目加载站点配置的方式"""
# app.config是整个flask项目默认的配置属性,里面包含了所有的可用配置项,配置项的属性名都是大写字母或大写字母+下划线组成

app.config = {
    "DEBUG": True
}
app.config.update(config)

# 4. 可以通过实例对象app提供的route路由装饰器,绑定视图与uri地址的关系
@app.route("/")
def index():
    # 5. 默认flask支持函数式视图,视图的函数名不能重复,否则报错!!!
    # 视图的返回值将被flask包装成响应对象的HTML文档内容,返回给客户端。
    return "<h1>hello flask</h1>"


if __name__ == '__main__':
    # 3. 运行flask提供的测试web服务器程序
    app.run(host="0.0.0.0", port=5000)

我们打印看下app.config,要么是大写字母,要么是大写字母加下划线连接
并不是所有的参数都可以通过app.config来设置,我们看下app.config有哪些属性
<Config {‘DEBUG’: True, ‘TESTING’: False, ‘PROPAGATE_EXCEPTIONS’: None, ‘SECRET_KEY’: None, ‘PERMANENT_SESSION_LIFETIME’: datetime.timedelta(days=31), ‘USE_X_SENDFILE’: False, ‘SERVER_NAME’: None, ‘APPLICATION_ROOT’: ‘/’, ‘SESSION_COOKIE_NAME’: ‘session’, ‘SESSION_COOKIE_DOMAIN’: None, ‘SESSION_COOKIE_PATH’: None, ‘SESSION_COOKIE_HTTPONLY’: True, ‘SESSION_COOKIE_SECURE’: False, ‘SESSION_COOKIE_SAMESITE’: None, ‘SESSION_REFRESH_EACH_REQUEST’: True, ‘MAX_CONTENT_LENGTH’: None, ‘SEND_FILE_MAX_AGE_DEFAULT’: None, ‘TRAP_BAD_REQUEST_ERRORS’: None, ‘TRAP_HTTP_EXCEPTIONS’: False, ‘EXPLAIN_TEMPLATE_LOADING’: False, ‘PREFERRED_URL_SCHEME’: ‘http’, ‘TEMPLATES_AUTO_RELOAD’: None, ‘MAX_COOKIE_SIZE’: 4093}>
python轻量级web框架flask初探,搭建网站原来这么简单,flask框架零基础,进阶应用实战教学,python,flask,web框架,搭建网站文章来源地址https://www.toymoban.com/news/detail-841477.html

到了这里,关于python轻量级web框架flask初探,搭建网站原来这么简单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python光速入门 - Flask轻量级框架

            FlASK是一个轻量级的WSGI Web应用程序框架,Flask的核心包括Werkzeug工具箱和Jinja2模板引擎,它没有默认使用的数据库或窗体验证工具,这意味着用户可以根据自己的需求选择不同的数据库和验证工具。Flask的设计理念是保持核心简单,同时提供强大的扩展性,用户

    2024年03月14日
    浏览(79)
  • 轻量级web开发框架Flask本地部署及无公网ip远程访问界面

    本篇文章讲解如何在本地安装Flask,以及如何将其web界面发布到公网上并进行远程访问。 Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团

    2024年02月04日
    浏览(51)
  • 本地部署轻量级web开发框架Flask并实现无公网ip远程访问开发界面

    本篇文章主要讲解如何在本地安装Flask,以及如何将其web界面发布到公网进行远程访问。 Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团

    2024年01月23日
    浏览(48)
  • 深度学习模型部署——Flask框架轻量级部署+阿里云服务器

    ​因为参加一个比赛,需要把训练好的深度学习模型部署到web端,第一次做,在网上也搜索了很多教程,基本上没有适合自己的,只有一个b站up主讲的还不错 https://www.bilibili.com/video/BV1Qv41117SR/?spm_id_from=333.999.0.0vd_source=6ca6a313467efae52a28428a64104c10 https://www.bilibili.com/video/BV1Qv41117

    2024年02月07日
    浏览(68)
  • Qat++,轻量级开源C++ Web框架

    目录 一.简介 二.编译Oat++ 1.环境 2.编译/安装 三.试用 1.创建一个 CMake 项目 2.自定义客户端请求响应 3.将请求Router到服务器 4.用浏览器验证 Oat++是一个面向C++的现代Web框架 官网地址:https://oatpp.io github地址:https://github.com/oatpp/oatpp Oat++具有如下特性: ●随处运行 Oat++没有任何

    2024年02月01日
    浏览(59)
  • 使用Go语言打造轻量级Web框架

    前言 Web框架是Web开发中不可或缺的组件。它们的主要目标是抽象出HTTP请求和响应的细节,使开发人员可以更专注于业务逻辑的实现。在本篇文章中,我们将使用Go语言实现一个简单的Web框架,类似于Gin框架。 功能 我们的Web框架需要实现以下功能: 路由:处理HTTP请求的路由

    2023年04月08日
    浏览(42)
  • 轻量级Web报表工具ActiveReportsJS全新发布v4.0,支持集成更多前端框架!

    ActiveReportsJS 是一款基于 JavaScript 和 HTML5 的轻量级Web报表工具,采用拖拽式设计模式,不需任何服务器和组件支持,即可在 Mac、Linux 和 Windows 操作系统中,设计多种类型的报表。ActiveReportsJS 同时提供跨平台报表设计、纯前端报表展示、多数据源绑定、前端打印导出等功能,

    2024年02月15日
    浏览(38)
  • C++轻量级单元测试框架

    单元测试是构建稳定、高质量的程序、服务或系统的必不可少的一环。通过单元测试,我们可以在开发过程中及时发现和修复代码中的问题,提高代码的质量和可维护性。同时,单元测试也可以帮助我们更好地理解代码的功能和实现细节,从而更好地进行代码重构和优化。

    2023年04月25日
    浏览(60)
  • Python实现轻量级WEB服务器接收HTTP提交的RFID刷卡信息并回应驱动读卡器显示播报语音

     本示例使用的设备:RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com)

    2024年02月12日
    浏览(37)
  • 互联网轻量级框架整合之设计模式

    Java的反射技术能够通过配置类的全限定名、方法和参数完成对象的初始化,甚至反射某些方法,大大的增强了Java的可配置型,这也是Spring IoC的底层原理,Java的反射技术覆盖面很广,包括对象构建、反射方法、注解、参数、接口等等,而这一切都是通过 java.lang.reflect.* 来完成

    2024年04月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包