• 十六 .Flask 基本项目目录搭建 和 pipreqs 模块(组件和模块版本) virtualenv 模块 (创建虚拟环境)


    一 .目录搭建

    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:root@127.0.0.1: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

     3. pip install  virtualenv   模块 

     virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用
    生成虚拟环境




    图文使用:







  • 相关阅读:
    Passing Reference by value
    WPF中override ResourceDictionary中的设置的方法
    WPF中TextBox的PreviewMouseLeftButtonUp事件
    Attribute的理解和认识
    IIS添加服务
    Unix时间戳转换成C#中的DateTime
    KMP算法的实现
    IDA 宏定义
    实验吧-catalyst-system
    python整数转ASCII码
  • 原文地址:https://www.cnblogs.com/lovershowtime/p/11762717.html
Copyright © 2020-2023  润新知