flask 项目总结

一,模块化的分离!

1,增加配置文件

'''
实际上是相当于把所有的大写类属性绑定到app.config之上(字典的形式) 
config.from_object 就是绑定属性的操作!app.config 是一个对象,对象有类的所有属性!
'''
app.config.from_object(congig_name)

2,__init__ 是初始化项目的的开启!所有的需要的配置属性都要和app 绑定!

3,创建一个管理器,用来管理数据库对象与app对象!并且Manager 管理项目启动!

manager = Manager(app)
Manager(app,db)
# db 是指的是变量名称! MigrateCommand指的是迁移
manager.add_command('db', MigrateCommand)

4,# setting文件之中通过继承与增加特殊属性!

class DevelopmentConfig(Congig):
    """增加额外的属性DUBUG"""
    DEBUG = True

class ProductionConfig(Congig):
    """生产模式下的配置"""
    DEBUG = True

 5,Session(用来实现session存储的位置的)可以与redis 连接,并且配置三种信息到app属性 之中

class Congig():
    REDIS_POST = 'localhost'
    REDIS_PORT = 6379
    SESSION_TYPE = 'redis'
    # 连接数据库配置!
    SESSION_REDIS = redis.StrictRedis(host=REDIS_POST, port=REDIS_PORT)
    # 设置对 cookid 进行加密!
    SESSION_USE_SIGNER = True
    # session 有效期
    SESSION_PERMANENT = 86400 * 7

6,跨站请求伪造

    Flask-WTF 需要程序设置一个密钥。Flask-WTF 使用这个密钥生成 
     加密令牌,再用令牌验证请求中表单数据的真伪,app.config 有一个属性叫做'SECRET_KEY'

class Congig():
    SECRET_KEY = 'asTFeAXtNhXNii7kwWzNlH/W7G84rHYC8YEeAAo0eJo='

app.config.from_object(Congig)
from flask_wtf.csrf import CSRFProtect
CSRFProtect(app)

 

 

 



posted @ 2018-05-24 23:12  十七楼的羊  阅读(123)  评论(0编辑  收藏  举报