代码编织梦想

Flask 是一个用 Python 编写的轻量级 Web 应用框架。它设计简单且易于扩展,如果与 Jinja2 模板引擎和 Werkzeug WSGI 工具集结合使用,Flask 可以用来快速开发小型到中型的网站。Flask 鼓励快速开发和简洁的代码,同时保持了扩展性和灵活性。本文旨在如何使用Flask及其相关组件快速构建一个Web后端项目,持续更新中…

〇、前置介绍

  • 语言:Python,版本3.8,自行安装,建议使用Conda虚拟环境
    conda create -n myenv python=3.8     # myenv更改成自己想创建的虚拟环境的名字
    activate myenv   # 激活虚拟环境
    
  • 数据库:Mysql,版本最新即可
  • Flask及其组件(3.8下最新即可):
    • Flask: flask框架本身
    • Flask-SQLAlchemy: ORM框架,用来操作数据库表
    • Flask-Migrate: 数据库迁移框架,创建数据库表
    • Flask-Marshmallow:数据序列化框架
    • Flask-APSCheduler: 定时任务框架
    • Flask-Session: 存储session的扩展
    • Flask-SocketIO: 解决需要websocket的场景

一、安装依赖

  1. 安装依赖包
    pip install flask  # 安装flask框架
    pip install flask-sqlalchemy  # 安装flask-sqlalchemy ORM框架
    pip install flask-migrate  # 安装flask-migrate 数据库迁移框架
    pip install flask-marshmallow  # 安装flask-marshmallow 数据序列化框架
    pip install flask-apscheduler  # 安装flask_apscheduler 定时任务框架
    pip install flask-session  # 安装flask-session 存储session
    pip install flask-scoketio  # 安装flask-socketio 解决需要websocket的场景
    # 以下可选,后期有需求再下载
    pip install flask-script  # 安装flask-script 命令行工具 
    pip install flask-admin  # 安装flask-admin 后台管理框架
    pip install flask-wtf  # 安装flask-wtf 表单验证框架
    pip install flask-restful  # 安装flask-restful RESTful API框架
    pip install flask-restful-swagger  # 安装flask-restful-swagger RESTful API文档框架
    
  2. 说明:pip install 安装包时对包名的大小写不敏感,而Linux命令对大小写敏感

二、 项目结构

  1. 创建如下项目结构,亦可自行调整
  2. 说明:下述提到的目录为文件夹,为python的包,创建时注意
    -- project  # 项目顶层文件夹   目录
        -- apps   # 业务模块   包
            -- inits  # 初始化配置   包
            -- models  # 模型层   包
            -- schemas  # 序列化   包
            -- common  # 公共方法   包
            -- views  # 视图层    包
            -- __init__.py   # 初始化文件, 内部定义创建app的方法
            -- config.py  # 配置文件
        -- static  # 静态文件  目录
        -- templates  # 模板文件  目录
        -- db  # 数据库脚本文件   目录
        -- doc  # 文档文件  目录
        -- app.py   # 入口文件
    

三、创建APP

  1. config.py中添加如下配置类,将flask相关配置都封装到一个类里,方便维护

    # project.apps.config.py
    # 下述配置文件定义不同环境的配置类,使用时导入响应的类即可
    # 本例中只给出了密钥、数据库的配置,后期有session、login、scheduler方面的配置再加入即可
    
    from flask import Config
    
    
    # 共公配置
    class BaseConfig(Config):
        SECRET_KEY = 'xxxxxx'
    
        MYSQL_HOST = 'localhost'
        MYSQL_PORT = 3306
        MYSQL_USER = 'root'
        MYSQL_PASSWORD = 'xxxxxx'
        ADMIN_DB = 'admin'  # 管理员数据库  注意:需要提前创建该数据库, 如 create database `admin` default charset utf8mb4 collate utf8mb4_unicode_ci;
        BUSINESS_DB = 'business'  # 业务数据库  注意:需要提前创建该数据库
    
        # 配置数据库连接信息,flask默认的数据库:SQLALCHEMY_DATABASE_URI
        SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(MYSQL_USER, MYSQL_PASSWORD, MYSQL_HOST, MYSQL_PORT, BUSINESS_DB)
                                   
        # 其他数据库,使用SQLALCHEMY_BINDS命名的一个字典,key为数据库在项目中的名称,value为连接串
        SQLALCHEMY_BINDS = {
         
            'admin': 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(MYSQL_USER, MYSQL_PASSWORD, MYSQL_HOST, MYSQL_PORT, ADMIN_DB)
        }
    
        
    # 开发配置类
    class DevConfig(BaseConfig):
        DEBUG = True
    
    
    # 生产配置类
    class ProConfig(BaseConfig):
        DEBUG = False
    
  2. 在MySQL中创建adminbusiness数据库

    create database if not exists `admin` default charset utf8mb4 collate utf8mb4_general_ci;
    create database if not exists `business` default charset utf8mb4 collate utf8mb4_general_ci;
    
  3. apps.__init__.py初始化文件内部定义创建app的方法

    # project.apps.__init__.py
    
    from flask import Flask
    from apps.config import DevConfig  # 假设这里是开发环境,我们导入开发环境的配置类
    
    
    def create_app():
        app = Flask(__name__)
        
        # 引入配置
        app.config.from_object(DevConfig)
    
        return app
    
  4. app.py入口文件中填入以下代码,用于启动项目

    # project.app.py
    
    from apps import create_app
    
    
    app = create_app()
    
    
    if __name__ == 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_52011411/article/details/141681678

flask框架的web开发02(web项目整体架构)_~须尽欢的博客-爱代码爱编程

目录 一:flask框架整体构造 1.介绍 2.构造图  二,核心对象、管理、启动模块  1.核心对象app.py模块 2.管理模块manager.py 3.启动模块server.py  三:配置文件模块  四:forms验证模块 五:libs公共库模块 1.auth权限认证模块 2.error_code认证状态异常模块  3

后端开发——flask框架从入门到精通(上)-爱代码爱编程

前言      最近打算将学过的python后端再系统地去梳理一下,学得再深入一些,一直停留在表面的知识在需求面前总是显得如此苍白。只能说自己的知体系识欠缺很多呐,从零到一的路总是比较坎坷的,踏实一点啃一下文档吧,总之继续加油咯!      那么在接下来的几篇文章中我会将python的后端框架 —— Flask框架的基础知识再整理一下,希望对未

后端开发——flask框架从入门到入坟(中)-爱代码爱编程

前言         在上一篇文章中荔枝已经梳理了Flask的基础语法,但是想要靠这些东西来写一个项目是远远不够的噢,我们还需要一个更加清晰的项目逻辑来搭建一个Flask后端项目框架,在真实的项目开发中,我们还需要了解如何搭建数据库,如何管理高效管理代码,如何使自己写的东西可维护性更好。         在本篇文章中,荔枝会基于自己之前学习的时

python写接口笔记-爱代码爱编程

文章目录 一、用python基于flask写后端接口,接口里可以调用其他类成员示例二、用python基于flask写后端接口,接口的入参是多个的示例三、用python基于flask写后端接口,接口的入参是路径的

2.flask后端基本常识及操作-爱代码爱编程

2.flask后端基本常识及操作 Flask是一个使用Python编写的轻量级Web应用框架。其主要特点是灵活、轻便、安全且容易上手。Flask可以很好地结合MVC模式进行开发,便于小型团队在短时间内完成功能丰富的中小型网

【学习笔记】基于flask的web项目开发_flask web项目-爱代码爱编程

目录 前言 正文 初始Flask 拓展一 Flask与HTTP Flask模板 基本用法 辅助工具之上下文 辅助工具之全局对象 写在最后 参考资料 前言 21年9月,因为项目需求方催付上线,需要会python的人,所以我又临时顶上了。 其实项目本身更多的还是需求逻辑和算法逻辑,只是flask框架于我是个全

flask后端接口开发_flask服务端-爱代码爱编程

创建Flask项目 最简单的Flask项目 创建一个基本的Python项目,带虚拟运行环境在【File】→【Settings】→【Project:】→【Python Interperter】安装Flask包在main文件

python后端:flask框架学习笔记_python flask写http后端-爱代码爱编程

笔记来自视频教程:2分钟了解flask_哔哩哔哩_bilibili 一、第一个flask程序 from flask import Flask #导入必要的包 app=Flask(__name__) #创建Flask对象 @app.route('/') #前端在根目录下的路由+视图函数p def p(): return 'he' ap

flask的后端代码开发规范,三层架构_flask三层架构-爱代码爱编程

在Flask中创建和操作数据库,可以使用SQLAlchemy这样的ORM(对象关系映射)工具。ORM工具可以帮助我们使用Python代码来表示和操作数据库表和记录,而不需要直接编写SQL语句。 下面是一个示例,展示了在Fl

使用flask快速构建web后端项目(下):python、flask、mysql、migrate、sqlalchemy、login、session、scheduler、socket_flask开源项目-爱代码爱编程

Flask 是一个用 Python 编写的轻量级 Web 应用框架。它设计简单且易于扩展,如果与 Jinja2 模板引擎和 Werkzeug WSGI 工具集结合使用,Flask 可以用来快速开发小型到中型的网站。Flask

flask:后端框架使用_flask 后端-爱代码爱编程

文章目录 1、介绍2、demo演示3、Flask请求和响应3.1 演示demo3.2 request获取请求体数据3.3 requests发送请求3.4 响应返回和接收 4、特殊路由4.1 路由重定向4.