如果设置项比较少的话可以使用“app.config['param_name']=value”的形式直接使用,如果需要设置的参数比较多的话,可以单独新建一个配置文件用来存放配置信息(配置文件中的参数需大写),且需要将配置文件中的内容导入到app.config中。

导入配置文件的两种方式:

  • from_object:例如在项目文件夹下新建一个“config”py文件,在代码中import config后使用app.config.from_object(config)即可。
  • from_pyfile(filename, silent=False):例如在项目文件夹下新建一个配置文件,可以不用是py文件,txt文件或其他文件也行,直接使用app.config.from_pyfile('cfg.txt')就行。filename必须是包含后缀名的文件名全称,silent默认为False,即该配置文件cfg.txt不存在时,会报错,设置silent=True时,则不会报错,直接跳过此行代码。

配置文件中参数设置及其含义如下:

  • DEBUG:设置为“True”时表示开启debug模式,设置为“False”表示关闭debug模式,只针对py文件。
  • TEMPLATES_AUTO_RELOAD:设置为True时,HTML模板有修改时,ctrl+s后就可自动加载HTML文件,不用重新启动服务器。类似DEBUG,但只针对HTML模板文件。
  • SQLALCHEMY_DATABASE_URI:设置数据库连接字符串(这里使用的是sqlalchemy插件),字符串形式是固定的,为“dialect+driver://username:password@host:port/database”,比如MySQL的连接字符串可以如图配置(其中的花括号是Python的一种字符串格式化,就像“%”使用一样),其中driver为Python2的mysqldb,Python3的pymysql,具体以安装的插件为准:
 # 数据库连接固定格式格式字符串
# dialect+driver://username:password@host:port/database
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = 123456
HOST = '127.0.0.1'
PORT = ''
DATABASE = 'db_demo1' SQLALCHEMY_DATABASE_URI = '{dialect}+{driver}://{username}:{password}@{host}:{port}/{database}?charset=utf8'.format(
dialect=DIALECT, driver=DRIVER, username=USERNAME, password=PASSWORD, host=HOST, port=PORT, database=DATABASE
)
  •  SECRET_KEY:包含24个字符的字符串,用来对session中的数据进行加密操作的,一般采用随机字符串,可以使用os.urandom(24)来生成这个字符串,注意如果重启服务器后这个字符串改变了的话,之前设置的session就获取不到了。
  • PERMANENT_SESSION_LIFETIME:设置session的过期时间,datetime.timedelta类型,如果没有设置,则默认为31天,比如设置过期时间为7天:PERMANENT_SESSION_LIFETIME=datetime.timedelta(days=7)。
  • SERVER_NAME:设置域名和端口号,如SERVER_NAME='xxx.com:5000'

Flask初学者:配置文件的更多相关文章

  1. 源码解析Flask的配置文件

    在flask里,我们常在主文件中定义某些配置,比如: app.debug = True app.secret_key = 'helloworld!!' 实际上,flask中默认可以进行可选的配置项有很 ...

  2. Flask的配置文件

    Flask的配置文件 与 session 配置文件 flask中的配置文件是一个flask.config.Config对象(继承字典) 默认配置为: { 'DEBUG': get_debug_flag ...

  3. Flask 的配置文件

    Flask 的配置文件 四种方法给 Flask 做配置 1直接给 app 对象赋值属性 以字典的形式,给flask做配置 以文件的形式,给flask做配置(django 就是用这种) 以类的形式,给f ...

  4. flask设置配置文件的四钟方式

    # -*- coding: utf-8 -*- DEBUG = True # -*- coding: utf-8 -*- from flask import Flask,session,current ...

  5. Flask初学者:session操作

    cookie:是一种保存数据的格式,也可以看成是保存数据的一个“盒子”,服务器返回cookie给浏览器(由服务器产生),由浏览器保存在本地,下次再访问此服务器时浏览器就会自动将此cookie一起发送给 ...

  6. Flask初学者:Python虚拟环境,Flask安装,helloworld,run方法

    一.Python虚拟环境: 作用:使Python框架的不同版本可以在同一台电脑上运行.如果在电脑上全局(C盘或者其他目录)安装Flask(或其他Python框架),当你使用其他版本的Flask(比如有 ...

  7. Flask的配置文件 与 session

    配置文件 flask中的配置文件是一个flask.config.Config对象(继承字典) 默认配置为: { 'DEBUG': get_debug_flag(default=False), 是否开启 ...

  8. Flask设置配置文件

    Flask修改配置: from flask import Flask app = Flask(__name__) app.config['DEBUG'] = True @app.route('/') ...

  9. flask 设置配置文件的方式

    from flask import Flask from flask import current_app """ 配置参数设置与读取 """ ...

随机推荐

  1. JNA-调用win32 Dll文件

    1. 描述备注 参考地址1 JNA示例代码 1.1 JNA工作原理 JNA是建立在JNI技术基础之上的一个Java类库,它使您可以方便地使用java直接访问动态链接库中的函数. 原来使用JNI,你必须 ...

  2. varnish与squid的比较

    生产环境中尝试使用varnish替代squid的主要原因: 1. squid不支持多核cpu, 生产环境中大多使用Dell R610系列,这种类型机器配置为2个4核双线程cpu, 操作系统识别为16个 ...

  3. pat1083. List Grades (25)

    1083. List Grades (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a l ...

  4. Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子

    --添加CreateTime 设置默认时间 CURRENT_TIMESTAMP  ALTER TABLE `table_name`ADD COLUMN  `CreateTime` datetime N ...

  5. setInterval 函数

    间隔指定的毫秒数不停地执行指定的代码 setInterval函数参数 codes -- 代码段的字符串表示(与eval函数的参数相同),或者是匿名函数.函数名 interval -- 间隔的毫秒数 s ...

  6. MySQL学习系列2--MySQL执行计划分析EXPLAIN [原创]

    1.Explain语法 EXPLAIN SELECT …… 变体:   EXPLAIN EXTENDED SELECT …… 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可 ...

  7. C/S框架设计经验小结

    C/S架构程序应用广泛,比如常见的QQ.微信.Outlook,还有手机上的各种APP都是C/S架构的.C指的是Client,即客户端,S指的是Server,即服务端. 经常听到初学者争论,是学C/S结 ...

  8. swift学习笔记7

    不管做什么事,只要敬业点,把该作的做好.不要总找借口. 不要看不起小事,生活本是一件件小事的集合.细节决定成败. 士兵突击里面有句台词:他每做一件小事的时候,都好像抓住了一根救命稻草,到最后你才发现, ...

  9. vue awaresome swiper的使用

    main.jsimport VueAwesomeSwiper from 'vue-awesome-swiper'import 'swiper/dist/css/swiper.css'Vue.use(V ...

  10. iOS核心动画高级技巧之核心动画(三)

    iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...