当前位置: 首页 > article >正文

flask创建步骤

1.在__init__.py中创建db对象

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

2.同样的在__init__.py中create_app函数中让app传入到db中

def create_app():
    app = Flask(__name__)
    app.config.from_object('settings.DevelopmentConfig')

    app.register_blueprint(ac)
    app.register_blueprint(hm)

    db.init_app(app)
    Auth(app)
    
    return app

3.写配置文件,在settings中将连接字符串定义在配置文件中

class BaseConfig(object):
    # SESSION_TYPE = 'redis'  # session类型为redis
    # SESSION_KEY_PREFIX = 'session:'  # 保存到session中的值的前缀
    # SESSION_PERMANENT = True  # 如果设置为False,则关闭浏览器session就失效。
    # SESSION_USE_SIGNER = False  # 是否对发送到浏览器上 session:cookie值进行加密

    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/s8day130db?charset=utf8"
    SQLALCHEMY_POOL_SIZE = 5
    SQLALCHEMY_POOL_TIMEOUT = 30
    SQLALCHEMY_POOL_RECYCLE = -1

    # 追踪对象的修改并且发送信号
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    SECRET_KEY = "11111jfadfqaee"

class ProductionConfig(BaseConfig):
    pass

4.定义models.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, UniqueConstraint, Index,DateTime,ForeignKey
from demo import db

class Users(db.Model):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True,autoincrement=True)
    name = Column(String(32),nullable=False,unique=True)
    pwd = Column(String(32),nullable=False)

5.穿件数据库表,编写离线脚本:drop_create_table.py

from demoimport db
from demoimport create_app
from demoimport models

app = create_app()
with app.app_context():
    db.drop_all()
    db.create_all()
    # data = db.session.query(models.Users).all()
    # print(data)

6.在视图函数中使用sqlalchemy操作数据库

from demo import models
from demoimport db
ac = blueprints.Blueprint('ac',__name__)

@ac.route('/login',methods=['GET','POST'])
def login():
	data = db.session.query(models.Users).all()
	db.session.commit()
	return "login"


http://www.kler.cn/a/136136.html

相关文章:

  • Git(11)之log显示支持中文
  • 视频监控平台:Liveweb视频汇聚融合平台智慧安防视频监控应用方案
  • 面向对象编程概念
  • C++----------类的设计
  • “高精度算法”思想 → 大数阶乘
  • 操作系统导论读书笔记
  • Excel 文件比较工具 xlCompare 11.01 Crack
  • 深度学习人体跌倒检测 -yolo 机器视觉 opencv python 计算机竞赛
  • WebSocket协议详解
  • linux rsyslog综合实战1
  • CI/CD相关概念学习
  • Apache POI(Java)
  • flask实现session开发
  • 1. hadoop环境准备
  • 基于一致性算法的微电网分布式控制MATLAB仿真模型
  • Java格式化类Format
  • 电子学会C/C++编程等级考试2022年06月(一级)真题解析
  • 初识分布式键值对存储etcd
  • Zotero在word中插入带超链接的参考文献/交叉引用/跳转参考文献
  • 工作记录---为什么双11当天不能申请退款?(有趣~)
  • 万字长文 - Python 日志记录器logging 百科全书 - 高级配置之 日志分层
  • 2023-11-18 mysql-sysbench压测TPS/QPS-记录
  • LangChain 5易速鲜花内部问答系统
  • 使用cli批量下载GitHub仓库中所有的release
  • 暖阳脚本_ 将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent
  • SpringCloud--分布式锁实现