Flask连接数据库

在开发过程中,我将使用SQLite数据库。SQLite数据库是开发小型应用程序(有时甚至不是那么小的应用程序)最方便的选择,因为每个数据库都存储在磁盘上的单个文件中,并且不需要运行像MySQL和PostgreSQL这样的数据库服务器。

我们有两个新的配置项要添加到配置文件中:

config.py

import os
basedir = os.path.abspath(os.path.dirname(__file__))

class Config(object):
    # ...
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'sqlite:///' + os.path.join(basedir, 'app.db')
    SQLALCHEMY_TRACK_MODIFICATIONS = False

数据库将在应用程序中由数据库实例表示。数据库迁移引擎也将有一个实例。这些是需要在应用程序运行后在app/__init__.py文件中创建的对象:

app/__init__.py

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate

app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

from app import routes, models

知道用户表,我可以将其转换为新的app/models.py模块中的代码:

from app import db

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))

    def __repr__(self):
        return ''.format(self.username)

你可能感兴趣的:(python,flask,数据库,python)