• vscode中命令行创建文件或文件夹|flask搭建环境的配置


    新建文件夹命令: mkdir 文件名
    新建文件命令: type null > 文件名.文件类型

    flask搭建类似DJango框架模式
    使用方法:

    1.创建app应用文件夹(命名可自行命名)

    2.在app应用下创建个__init__.py文件

    # coding=utf-8
    
    # 导入Flask包和SQLAlchemy
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    
    # 导入配置
    app.config.from_object('config')
    
    # 实例化SQLAlchemy
    db = SQLAlchemy(app)
    
    # 最重要的配置,如views,models,forms
    from app import views,models,forms
    

    3.在app应用下分别创建views.py文件,models.py,forms.py.即可

    4.在项目根目录创建config.py文件,db_migrate.py文件(数据库迁移文件),run.py(flask启动命令)

    import os
    
    # 配置文件主要配置数据库,为__init__服务
    
    base_dir = os.path.abspath(os.path.dirname(__file__)) # 绝对路径
    
    CSRF_ENABLED=True # 激活跨站点请求伪造保护
    SECRET_KEY = 'ssahakja'
    
    # 创建数据库连接
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(base_dir,'datas.sqlite')
    
    # 数据迁移文件保存位置
    SQLALCHEMY_MIGRATE_REPO = os.path.join(base_dir,'migrations')
    
    db_migrate.py文件(数据库迁移文件)
    # coding=utf-8
    
    
    # 调用flask_migrate的api
    from migrate.versioning import api
    
    # 导入config的配置
    from config import SQLALCHEMY_DATABASE_URI,SQLALCHEMY_MIGRATE_REPO
    
    # 导入实例化flask对象的arm实例
    from app import db
    
    import imp  # 导入模块和类,可用作模块的别名
    import os
    
    # 创建数据库
    db.create_all() # 这里其实是创建表
    
    if not os.path.exists(SQLALCHEMY_MIGRATE_REPO):
        # 创建数据库
        api.create(SQLALCHEMY_MIGRATE_REPO,'respository database') # 第二个空是注释
        api.version_control(SQLALCHEMY_DATABASE_URI,SQLALCHEMY_MIGRATE_REPO)
    else:
        api.version_control(SQLALCHEMY_DATABASE_URI,SQLALCHEMY_MIGRATE_REPO,api.version(SQLALCHEMY_MIGRATE_REPO))
     
    # 第二步:迁移数据
    v = api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
    migration = SQLALCHEMY_MIGRATE_REPO + ('/versions/%03d_migration.py' % (v + 1)) # versions生成迁移的版本信息
    tmp_module = imp.new_module('old_model')
    old_model = api.create_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
    exec(old_model, tmp_module.__dict__)
    script = api.make_update_script_for_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, tmp_module.meta, db.metadata)
    open(migration, "wt").write(script)
    api.upgrade(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
    v = api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
     
    #第三步:报告结果
    print('数 据 库位置:\t' + SQLALCHEMY_DATABASE_URI)
    print('数据迁移代码:\t' + migration)
    print('当前数据版本:\tv' + str(v))
    

    这里出现个vscode配置虚拟环境的问题

    1.打开命令面板 ctrl shift + p
    2.选择python虚拟环境Python:Select Interpreter (打开完整的项目目录需要是虚拟环境的父母录,否则无法打开虚拟环境的python解释器)
    3.使用import导入的话是相对路径,打开导入的包还是默认的Python解释器环境

    第3点提示

    虚拟环境并不会把标准库配置好

  • 相关阅读:
    异或和之和
    Wannafly挑战赛19C:多彩的树
    HDU 6035 树形dp
    利用C++套接字发送邮件
    洛谷P3368树状模板(区间更新+单点查询+差分)
    CCF 201903-1 小中大
    关于树状数组
    CODEVS 4189 (前缀是否出现)
    关于字典树
    hdu 1022 Train Problem
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15949504.html
Copyright © 2020-2023  润新知