• 三 Flask+ MySQL 数据库操作


    一: __init__.py作用:

    __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。

      __init__.py:

    from flask import Flask, url_for, request, redirect, render_template
    from flask_sqlalchemy import SQLAlchemy
    app = Flask(__name__)
    app.config.from_object('config')      // 加载配置
    db = SQLAlchemy(app)                  // 
    from app import models,views

    models.py

      __tablename__:  表名称。

      __repr__:Python中这个_repr_函数,对应repr(object)这个函数,返回一个可以用来表示对象的可打印字符串. 可以Print出对象

    from app import db #db是在app/__init__.py生成的关联后的SQLAlchemy实例
    
    class User(db.Model):
        __tablename__ = 'users'
        id = db.Column(db.Integer, primary_key=True)
        username = db.Column(db.String(80), unique=True)
        email = db.Column(db.String(320), unique=True)
        password = db.Column(db.String(32), nullable=False)
    
        def __repr__(self):
            return '<User %r>' % self.username
    
    
    class Admin(db.Model):
        __tablename__ = 'admins'
        id = db.Column(db.Integer, primary_key=True)
        username = db.Column(db.String(80), unique=True)
        email = db.Column(db.String(320), unique=True)
        password = db.Column(db.String(32), nullable=False)
    
        def __repr__(self):
            return '<User %r>' % self.username

    create_db.py

    create_all: 这个函数会找到tables,然后连接DB,再然后创建表。
    from app import db
    db.create_all()

    用命令行执行python create_db.py;   或者  在pycharm中 直接,右键create_db.py就会创建表。

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    蓝图(blueprint):

    admin = Blueprint('admin',__name__)    // 定义一个蓝本名字是admin

    @admin.route('/index') // 蓝本是用来定义router映射的。

    GitHUB 地址: https://github.com/liufeiSAP/ArchiveMan

    目录结构如下:

    
    
  • 相关阅读:
    麻省理工算法导论学习笔记(1)算法介绍
    麻省理工算法导论学习笔记(2)渐近符号、递归及解法
    Mybatis if 标签 判断不生效
    Linux permission denied解决方法?
    MySQL查找是否存在
    List集合数据去重
    Java获取list集合的前几个元素
    git如何新建(修改)分支
    asp.net下url参数含有中文读取后为乱码
    时间复杂度为O(n)的排序算法
  • 原文地址:https://www.cnblogs.com/liufei1983/p/8428674.html
Copyright © 2020-2023  润新知