2.配置信息的抽取

我们先来看我们写的代码,和文件

from flask import Flask,session
from flask_sqlalchemy import SQLAlchemy
from redis import StrictRedis
from flask_session import Session
from flask_wtf import CSRFProtect
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
class Config:
    DEBUG = True
    SQLALCHEMY_DATABASE_URI="mysql://root:mysql@127.0.0.1:3306/two_ti04"
    SQLALCHEMY_TRACK_MODIFICATIONS=Flask
    REDIS_HOST = "127.0.0.1"
    REDIS_POST = 6379
    SECRET_KEY ="asdsadsada"
    SESSION_TYPE = "redis"#指定用redis来存储session信息
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_POST)#指定那个redis来存储session信息
    SESSION_USE_SIGNER= True   #设置是否使用秘钥
    SESSION_PERMANENT=60*60*24   #设置cession的储存时间



app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
redis_store = StrictRedis(host=Config.REDIS_HOST, port=Config.REDIS_POST)
Session(app)   #设置redis的存放数据库
CSRFProtect(app)#开始CSRF保护开启
manager = Manager(app)
Migrate(app, db)
manager.add_command("mysql",MigrateCommand)
@app.route("/")
def index():
    # redis_store.set("name","laoli")
    #测试session
    session["age"]=28
    return "hello"

if __name__=="__main__":
    manager.run()
View Code

接下来我们会把配置信息放入一个文件,app的建立放入一个文件,而把manager当做一个启动文件夹。

 这部分是业务逻辑也需要抽取的。

第一步,我们抽取配置类,我们需要创建一个文件config

鼠标右键>new>python File>config

把config类复制到新建的config文件里,我们发现有报错,我们需要导包,鼠标放到报红出,alt+回车,有提示然后再按回车就可以了

#配置类
from redis import StrictRedis


class Config:
    DEBUG = True
    SQLALCHEMY_DATABASE_URI="mysql://root:mysql@127.0.0.1:3306/two_ti04"
    SQLALCHEMY_TRACK_MODIFICATIONS=Flask
    REDIS_HOST = "127.0.0.1"
    REDIS_POST = 6379
    SECRET_KEY ="asdsadsada"
    SESSION_TYPE = "redis"#指定用redis来存储session信息
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_POST)#指定那个redis来存储session信息
    SESSION_USE_SIGNER= True   #设置是否使用秘钥
    SESSION_PERMANENT=60*60*24   #设置cession的储存时间
config完整代码

我们在回到manage,发现报红,那是我们把配置类移走,所以我们需要把config文件导进来。

在manage里导包

from config import Config

然后运行,运行成功后,成功后就把manage的配置类删除,注意我们运行后manage里的配置类是注释了的,因为我们把它迁移到config里面,没删除是怕有错误,运行成功后就可以删除。

原文地址:https://www.cnblogs.com/manjian/p/13737894.html