三 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

目录结构如下:

 


posted @ 2018-02-07 22:19  刘大飞  阅读(278)  评论(0编辑  收藏  举报