十六 .Flask 目录搭建

一 .目录搭建

https://www.cnblogs.com/wupeiqi/p/7552008.html

https://github.com/Suger-supreme/flask_dir      目录结构
应用到
    
    配置文件 写入
    sqlalchemy 数据库连接使用
    蓝图
    models
配置flask运行命令 python manage.py runserver
配置Flask数据库迁移
依赖的组件库

Flask_SQLAlchemy==2.4.1
redis==3.3.11
SQLAlchemy==1.3.10
Flask_Session==0.3.1
Flask_Migrate==2.5.2
Flask==1.1.1
Flask_Script==2.0.6
alembic==1.2.1


第一步:
    pip install  Flask-sqlalchemy   

第二部:
 导入  并且实例化 
        from flask_sqlalchemy import SQLAlchemy
        db = SQLAlchemy() # 实例化SQLAlchemy  里面封装了数据库连接等    
             注意:必须在导入蓝图的上面  
                必须导入models.py


第三部:
         初始化 
         db.init_app(app)   # 注册 SQLAlchemy 读取配置文件


第四步:
             配置文件中写入配置
             sqlalchemy 配置文件
             SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:[email protected]:3306/mydb5?charset=utf8"
             SQLALCHEMY_POOL_SIZE = 10
             SQLALCHEMY_MAX_OVERFLOW = 5
             SQLALCHEMY_TRACK_MODIFICATIONS = False

第五部:
         创建models
         class User(db.Model):
            __tablename__ = 'users'
            id = Column(Integer, primary_key=True)
            name = Column(String(32), index=True, nullable=False)



第六步:
          生成表 (用到了app上下文管理) 导入它 并且实例化上下文
          from supflask import db,create_app
          app = create_app()
          app_ctx = app.app_context() # app_ctx = app/g
          with app_ctx: # __enter__,通过LocalStack放入Local中
               db.create_all() # 调用LocalStack放入Local中获取app,再去app中获取配置
第七步:

      使用用 sqlalchemy 插入数据操等(orm操作等)
      db.session.add(models.User(name='张三三废'))
      db.session.commit()
      db.session.remove()
1. pip install  flask-script            生成命令

    a.功能 : 增加 python manage.py runserver

            from flask_script import Manager
            from supflask import create_app
            app = create_app()
            manager = Manager(app)       # python manage.py runserver
            Migrate(app, db)
            if __name__ == '__main__':
                # app.run()
                manager.run()





    b. cmd 自定义命令(按照位置关键字传参)
        @manager.command
        def custom(arg):
            """
            自定义命令
            python manage.py custom 123

            :param arg:
            :return:
            """
            print(arg)
        @manager.option('-n', '--name', dest='name')
        @manager.option('-u', '--url', dest='url')
        def cmd(name, url):
            """
            自定义命令
            执行: python manage.py  cmd -n litao -u http://baidu.com
            :param name:
            :param url:
            :return:
            """
            print(name, url)





2.pip install  flask-migrate      做数据库迁移

  依赖:  pip install  flask-script   

  from flask_migrate import Migrate, MigrateCommand
  manager.add_command('db', MigrateCommand)


  """
    # 数据库迁移命名
        python manage.py db init   初始化(只执行一次)
        python manage.py db migrate # makemirations
        python manage.py db upgrade # migrate


    """

 2.  pip install pipreqs 模块

3. 自动找到项目的所有组件和模块版本
    
    pip install pipreqs(适用于django Flask 等)

    pipreqs ./  --encoding=utf-8    找到当前项目目录下的所有组件和依赖 
  
    H:\MyFlask> pipreqs ./  --encoding=utf-8

猜你喜欢

转载自www.cnblogs.com/lovershowtime/p/11762717.html