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点提示

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

posted @ 2022-03-01 11:51  索匣  阅读(1343)  评论(0编辑  收藏  举报