- Flask Framework Cookbook
- Shalabh Aggarwal
- 377字
- 2021-08-05 17:17:20
Handling basic configurations
The first thing that comes to mind is configuring a Flask application as per the need. In this recipe, we will try to understand the different ways in which Flask configurations can be done.
Getting ready
In Flask, a configuration is done on an attribute named config
of the Flask
object. The config
attribute is a subclass of the dictionary data type, and we can modify it just like any dictionary.
How to do it…
For instance, to run our application in the debug mode, we can write the following:
app = Flask(__name__) app.config['DEBUG'] = True
Tip
The debug
Boolean can also be set at the Flask
object level rather than at the config
level:
app.debug = True
Alternatively, we can use this line of code:
app.run(debug=True)
Enabling the debug mode will make the server reload itself in the case of any code changes, and it also provides the very helpful Werkzeug
debugger when something goes wrong.
There are a bunch of configuration values provided by Flask. We will come across them in the relevant recipes.
As the application grows larger, there originates a need to manage the application's configuration in a separate file as shown here. Being specific to machine-based setups in most cases will most probably not be a part of the version-control system. For this, Flask provides us with multiple ways to fetch configurations. The most frequently used ones are discussed here:
- From a Python configuration file (
*.cfg
), the configuration can be fetched using:app.config.from_pyfile('myconfig.cfg')
- From an object, the configuration can be fetched using:
app.config.from_object('myapplication.default_settings')
Alternatively, we can also use:
app.config.from_object(__name__) #To load from same file
- From the environment variable, the configuration can be fetched using:
app.config.from_envvar('PATH_TO_CONFIG_FILE')
How it works…
Flask is intelligent enough to pick up only those configuration variables that are written in uppercase. This allows us to define any local variables in our configuration files/objects and leave the rest to Flask.
Tip
The best practice to use configurations is to have a bunch of default settings in app.py
or via any object in our application itself and then override the same by loading it from the configuration file. So, the code will look like this:
app = Flask(__name__) DEBUG = True TESTING = True app.config.from_object(__name__) app.config.from_pyfile('/path/to/config/file')
- Extending Jenkins
- Monkey Game Development:Beginner's Guide
- Mastering QGIS
- Mastering Rust
- Delphi開發(fā)典型模塊大全(修訂版)
- PhoneGap 4 Mobile Application Development Cookbook
- 深入淺出 HTTPS:從原理到實(shí)戰(zhàn)
- 和孩子一起學(xué)編程:用Scratch玩Minecraft我的世界
- 微信小程序開發(fā)邊做邊學(xué)(微課視頻版)
- Raspberry Pi Robotic Projects
- 軟技能2:軟件開發(fā)者職業(yè)生涯指南
- Linux Networking Cookbook
- R語言與網(wǎng)站分析
- 零基礎(chǔ)學(xué)西門子PLC編程:入門、提高、應(yīng)用、實(shí)例
- 編程改變生活:用PySide6/PyQt6創(chuàng)建GUI程序(進(jìn)階篇·微課視頻版)