flask初始化
导入模块
from flask import Flask, session, redirect, url_for, escape, request,render_template
app=Flask(__name__) ####定义一个app服务
app.config.from_object(config)###加载配置对象
config.py和app.py同级
config.py定义一个object
import os
class config:
secret_key = b'_5#y2L"F4Q8z\n\xec]/'
APP_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
SQLALCHEMY_DATABASE_URI = "sqlite:///E:\code\ops\data1.db"
SQLALCHEMY_TRACK_MODIFICATIONS = False
LOG_PATH='E:\code\ops\log'
LOG_PATH_ERROR = os.path.join(LOG_PATH, 'error.log')
LOG_PATH_INFO = os.path.join(LOG_PATH, 'info.log')
LOG_FILE_MAX_BYTES = 100 * 1024 * 1024
注册蓝图
导入蓝图模块.app.py
app.register_blueprint(api)
mkdir api##跟app.py同级
from flask import Blueprint
from flask import jsonify
api=Blueprint("api", __name__, url_prefix="/api")
使用flask-admin
from flask import current_app
from flask_admin import Admin, BaseView, expose
from flask_admin.contrib.sqla import ModelView
admin = Admin(app,name=u'后台管理系统')
admin.add_view(ModelView(deploy_app, db.session))###对数据库表进行管理
使用flask-sqlalchemy模块创建数据库对象
创建ext.py文件,专门存放第三方模块
from flask_sqlalchemy import SQLAlchemy
db=SQLAlchemy()
models文件直接引入db对象,编写表的对象
from ext import db
class deploy_info(db.Model):
__tablename__ = "user"
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(50) , nullable=False)
main文件创建表
from ext import db
with app.app_context(): # 添加这一句,否则会报数据库找不到application和context错误
db.init_app(app) # 初始化db
db.create_all() # 创建所有未创建的table
欢迎关注本人公众号。运维开发系列将持续更新