Flask不同于Django,Django在创建程序时自动得到必要的目录文件,而Flask则只有一个空文件夹,所以关于Flask项目的目录我们需要自行配置。

  首先利用pycharm创建一个项目,在根目录下创建一个app文件夹(app文件)、一个utils文件夹(用于放数据库连接池)、一个manage.py文件和一个settings.py文件。这里我还创建了一个auth文件夹,写了一个验证登录的py文件

Flask项目示例目录

 

  首先,我们要在app文件夹下依次创建一下内容:

    •   static文件夹:用于放静态文件
    •   templates文件夹:用于放置html模板文件
    •         views文件夹:用于放置视图函数
    •         __init__.py文件:注册app到启动文件,一会儿我们会在这里大做文章
    •         models.py文件:用于放置创建表的类

  在__init__.py中,需要做的是引入Flask-SQLAlchemy、创建app、设置配置文件、注册蓝图和注册组件

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask

from auth.auth import Auth
from flask_session import Session

# 1. 引入Flask-SQLAlchemy
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()#实例化SQLAlchemy


from .views.account import account
from .views.main import main
from .views.user import user

# 3. 导入models中的表
from .models import *

#创建app
def create_app():
    app = Flask(__name__)
    app.debug = True
    app.secret_key = 'sdiusdfsdf'#自定义的session秘钥
    # 设置配置文件
    app.config.from_object('settings.DevelopmentConfig')

    # 注册蓝图
    app.register_blueprint(account)
    app.register_blueprint(user)
    app.register_blueprint(main)

    # 注册组件
    # Session(app)
    Auth(app)

    # 2. 注册 Flask-SQLAlchemy
    # 这个对象在其他地方想要使用
    # SQLAlchemy(app)
    db.init_app(app)

    return app
#得到了一个app
app文件夹下的_init__.py

相关文章: