当前位置:   article > 正文

python-flask 完整项目结构搭建_flask搭建项目结构

flask搭建项目结构

在这里插入图片描述

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能

此文就已我一个初学者的视角来学习搭建flask框架

工具:pycharm pip

创建项目

  • 打开pycharm创建flask项目

在这里插入图片描述

  • 点击Create进行下一步

    在这里插入图片描述

  • 来看下文件的目录结构

文件夹:

static:存放项目静态资源文件的地方如css js images

templates:模板文件夹,存放你的html文件

venv:项目的python虚拟环境

文件:

app.py:项目的入口.通常用来写视图函数,和配置项目相关参数

  • 不过作为一个web项目有这些简单的配置是远远不够的,我们还需要对项目进行一些通用配置
pip install flask-SQLAlchemy
pip install flask-pymysqldb
pip install flask-Script
pip install flask-migrate
  • 1
  • 2
  • 3
  • 4
  1. 新建一个config.py文件在项目根目录下 (用于配置项目相关信息)
  2. 新建一个exts.py文件在项目根目录下 (设置全局数据库工具,避免多次实例化SQLAlchemy)
  3. 新建一个manage.py文件在项目根目录下 (绑定app与SQLAlchemy实例,同时为添加项目脚本工具)
  • 代码如下

    config.py: (配置项目)

    DIALECT = 'mysql'
    DRIVER = 'pymysql'
    USERNAME = 'root'
    PASSWORD = 'root'
    HOST = '127.0.0.1'
    PORT = '3306'
    DATABASE = 'flasktest'
    
    SQLALCHEMY_DATABASE_URI = '{}+{}://{}:{}@{}:{}/{}'.format(
        DIALECT,
        DRIVER,
        USERNAME,
        PASSWORD,
        HOST,
        PORT,
        DATABASE
    )
    
    # 便于调试
    TEMPLATES_AUTO_RELOAD = True
    SEND_FILE_MAX_AGE_DEFAULT = 0
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    exts.py:

    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    • 1
    • 2
    • 3

    manage.py

    from flask_script import Manager
    from flask_migrate import Migrate, MigrateCommand
    from exts import db
    from app import app
    
    manage = Manager(app)
    migrate = Migrate(app, db)
    manage.add_command('db', MigrateCommand)
    
    if __name__ == '__main__':
        manage.run()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 完成上述操作之后,因为我们需要创建一个实体文件夹,用于存放与数据表对应的实体类:

    在这里插入图片描述

  • 新建实体类;设置相关属性字段

    from exts import db 
    
    # ORM
    
    class KFCInfo(db.Model):
        __tablename__ = 'kfcinfo'
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        storename = db.Column(db.String(50))
        provincename = db.Column(db.String(20))
        cityname = db.Column(db.String(20))
        addressdetail = db.Column(db.String(400))
        lnalats = db.Column(db.String(50))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 完成这一步之后我们就可以进行migrate数据库迁移操作了

    python manage.py db init        //初始化
    python manage.py db migrate		//生成迁移文件夹migrations
    python manage.py db upgrage		//映射到数据库表中
    
    • 1
    • 2
    • 3
  • 至此,项目已经完成一大部分了

接下来有时间我会补充blueprint (蓝图)的相关配置说明)

这是我的一个python项目地址,请多多指教

https://github.com/Crack-DanShiFu/CrawlerCenter

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/432106
推荐阅读
相关标签
  

闽ICP备14008679号