我们先来看我们写的代码,和文件
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()
接下来我们会把配置信息放入一个文件,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的储存时间
我们在回到manage,发现报红,那是我们把配置类移走,所以我们需要把config文件导进来。
在manage里导包
from config import Config
然后运行,运行成功后,成功后就把manage的配置类删除,注意我们运行后manage里的配置类是注释了的,因为我们把它迁移到config里面,没删除是怕有错误,运行成功后就可以删除。