flask基本框架总结

抽离成3大模块

1、主函数,运行模块

from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from info import create_app, db
from config import *
app = create_app(DevelopmentConfig)
manager = Manager(app)
Migrate(app, db)
manager.add_command('db', MigrateCommand)
@app.route('/')
def hello_world():
    # redis_store.setex('name', 10, 'itheima')
    # session['name'] = 'zhubo'
    return 'Hello World!'
if __name__ == '__main__':

    manager.run()



2、config加载模块

import redis
# 配置信息
class Config(object):

    # 配置mysql数据库
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1/information11'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # 配置redis数据库
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

    SECRET_KEY = "EjpNVSNQTyGi1VvWECj9TvC/+kq3oujee2kTfQUs8yCM6xX9Yjq52v54g+HVoknA"

    # flask-session的配置信息
    SESSION_TYPE = "redis"  # 指定 session 保存到 redis 中
    SESSION_USE_SIGNER = True  # 让 cookie 中的 session_id 被加密签名处理
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # 使用 redis 的实例
    PERMANENT_SESSION_LIFETIME = 86400  # session 的有效期,单位是秒

class ProductionConfig(Config):
    DEBUG = False
    # 正式开发中, 还需要更改mysql/redis的数据库配置(测试/正式)
    # SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@177.13.1.1/information11'

class DevelopmentConfig(Config):

    DEBUG = True



3、app运行及扩展模块 为__init__模块

import redis
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_session import Session
from config import *

db = SQLAlchemy()
redis_store = None

# 提供工厂方法, 方便的通过配置参数的更改, 实现不同app的创建
def create_app(config_name):

    app = Flask(__name__)


    app.config.from_object(config_name)

    # 几乎所有的扩展, 都支持这种创建方式
    db.init_app(app)

    global redis_store
    redis_store = redis.StrictRedis(host=config_name.REDIS_HOST, port=config_name.REDIS_PORT)
    # Flask-session扩展对象. 将存储到浏览器cookie中的session信息, 同步到指定地方(Redis)
    Session(app)
    return app

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值