zoukankan      html  css  js  c++  java
  • 三 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

    目录结构如下:

    
    
  • 相关阅读:
    申通服务恶劣,开始忘本
    基础知识学习外部排序
    ToString()格式和用法大全
    Web.Config Transformation ASP.NET 4.0 新特性
    拒绝try.catch泛滥,学习委托有感
    Oracle Job定时任务的使用详解
    数据库和索引设计简要笔记
    Redis实际应用场景
    线程如何按照自己指定的顺序执行
    WCF 4.0 进阶系列 随笔汇总
  • 原文地址:https://www.cnblogs.com/liufei1983/p/8428674.html
Copyright © 2011-2022 走看看