flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为: { 'DEBUG': get_debug_flag(default=False),是否开启Debug模式 TESTING': False,是否开启测试模式 PROPAGATE_EXCEPTIONS: None,PRESERVE_CONTEXT_ON_EXCEPTION: None,1)">SECRET_KEY: None,1)">PERMANENT_SESSION_LIFETIME': timedelta(days=31),1)">USE_X_SENDFILE: False,1)">LOGGER_NAME: None,1)">LOGGER_HANDLER_POLICY': always,1)">SERVER_NAMEAPPLICATION_ROOT: None,1)">SESSION_COOKIE_NAME': sessionSESSION_COOKIE_DOMAIN: None,1)">SESSION_COOKIE_PATH: None,1)">SESSION_COOKIE_HTTPONLY: True,1)">SESSION_COOKIE_SECURE: False,1)">SESSION_REFRESH_EACH_REQUEST: True,1)">MAX_CONTENT_LENGTH: None,1)">SEND_FILE_MAX_AGE_DEFAULT': timedelta(hours=12TRAP_BAD_REQUEST_ERRORS: False,1)">TRAP_HTTP_EXCEPTIONS: False,1)">EXPLAIN_TEMPLATE_LOADING: False,1)">PREFERRED_URL_SCHEME': httpJSON_AS_ASCII: True,1)">JSON_SORT_KEYS: True,1)">JSONIFY_PRETTYPRINT_REGULAR: True,1)">JSONIFY_MIMETYPE': application/jsonTEMPLATES_AUTO_RELOAD'] = True PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...) 方式二: app.config.from_pyfile("python文件名称") 如: settings.py DEBUG = True app.config.from_pyfile(settings.py) app.config.from_envvar(环境变量名称) 环境变量的值为python文件名称名称,内部调用from_pyfile方法 app.config.from_json(json文件名称) JSON文件名称,必须是json格式,因为内部会执行json.loads app.config.from_mapping({:True}) 字典格式 app.config.from_object(python类或类的路径) app.config.from_object(pro_flask.settings.TestingConfig) settings.py class Config(object): DEBUG = False TESTING = False DATABASE_URI = sqlite://:memory:' ProductionConfig(Config): DATABASE_URI = MysqL://user@localhost/foo DevelopmentConfig(Config): DEBUG = True TestingConfig(Config): TESTING = True PS: 从sys.path中已经存在路径开始写 PS: settings.py文件默认路径要放在程序root_path目录,如果instance_relative_config为True,则就是instance_path目录
三、路由系统
- @app.route('/user/<username>')
- @app.route('/post/<int:post_id>')
- @app.route('/post/<float:post_id>')
- @app.route('/post/<path:path>')
- @app.route('/login',methods=['GET','POST'])