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

虛擬環境並不會把標准庫配置好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM