flask_imp.config¶
This module contains the configuration classes for the Flask Imp:
Classes:
FlaskConfig: The configuration class for the Flask application.
ImpConfig: The configuration class for the Flask Imp.
ImpBlueprintConfig: The configuration class for the Flask Blueprint.
DatabaseConfig: The base class for database configurations.
SQLDatabaseConfig: The base class for SQL database configurations.
SQLiteDatabaseConfig: The base class for SQLite database configurations.
- class flask_imp.config.FlaskConfig(debug=None, propagate_exceptions=None, trap_http_exceptions=None, trap_bad_request_errors=None, secret_key=None, session_cookie_name=None, session_cookie_domain=None, session_cookie_path=None, session_cookie_httponly=None, session_cookie_secure=None, session_cookie_samesite=None, permanent_session_lifetime=None, session_refresh_each_request=None, use_x_sendfile=None, send_file_max_age_default=None, error_404_help=None, server_name=None, application_root=None, preferred_url_scheme=None, max_content_length=None, templates_auto_reload=None, explain_template_loading=None, max_cookie_size=None, app_instance=None, additional=None)¶
Bases:
objectFlask configuration class modeled after the Flask documentation.
- Parameters:
debug (bool | None)
propagate_exceptions (bool | None)
trap_http_exceptions (bool | None)
trap_bad_request_errors (bool | None)
secret_key (str | None)
session_cookie_name (str | None)
session_cookie_domain (str | None)
session_cookie_path (str | None)
session_cookie_httponly (bool | None)
session_cookie_secure (bool | None)
session_cookie_samesite (Literal['Lax', 'Strict'] | None)
permanent_session_lifetime (int | None)
session_refresh_each_request (bool | None)
use_x_sendfile (bool | None)
send_file_max_age_default (int | None)
error_404_help (bool | None)
server_name (str | None)
application_root (str | None)
preferred_url_scheme (str | None)
max_content_length (int | None)
templates_auto_reload (bool | None)
explain_template_loading (bool | None)
max_cookie_size (int | None)
app_instance (Flask | None)
additional (Dict[str, Any] | None)
- apply_config(app)¶
Apply the configuration to the Flask app instance.
- Parameters:
app (Flask)
- Return type:
None
- as_dict()¶
Return the configuration as a dictionary.
- Return type:
Dict[str, Any]
- as_object()¶
- Return type:
FlaskConfigObject
- init_app(app)¶
Attach the configuration class to the Flask app instance.
- Parameters:
app (Flask)
- Return type:
None
- set_additional(**kwargs)¶
Set additional config values. Keys are converted to uppercase.
- Parameters:
kwargs (Any)
- Return type:
None
- DEBUG: bool | None¶
- PROPAGATE_EXCEPTIONS: bool | None¶
- TRAP_HTTP_EXCEPTIONS: bool | None¶
- TRAP_BAD_REQUEST_ERRORS: bool | None¶
- SECRET_KEY: str | None¶
- SESSION_COOKIE_NAME: str | None¶
- SESSION_COOKIE_DOMAIN: str | None¶
- SESSION_COOKIE_PATH: str | None¶
- SESSION_COOKIE_HTTPONLY: bool | None¶
- SESSION_COOKIE_SECURE: bool | None¶
- SESSION_COOKIE_SAMESITE: Literal['Lax', 'Strict'] | None¶
- PERMANENT_SESSION_LIFETIME: int | None¶
- SESSION_REFRESH_EACH_REQUEST: bool | None¶
- USE_X_SENDFILE: bool | None¶
- SEND_FILE_MAX_AGE_DEFAULT: int | None¶
- ERROR_404_HELP: bool | None¶
- SERVER_NAME: str | None¶
- APPLICATION_ROOT: str | None¶
- PREFERRED_URL_SCHEME: str | None¶
- MAX_CONTENT_LENGTH: int | None¶
- TEMPLATES_AUTO_RELOAD: bool | None¶
- EXPLAIN_TEMPLATE_LOADING: bool | None¶
- MAX_COOKIE_SIZE: int | None¶
- class flask_imp.config.DatabaseConfig(dialect='sqlite', database_name='database', location='', port=0, username='', password='', sqlite_db_extension='.sqlite', bind_key=None, enabled=True)¶
Bases:
objectDatabase configuration class used by ImpConfig, or ImpBlueprintConfig.
- Parameters:
dialect (Literal['mysql', 'postgresql', 'sqlite', 'oracle', 'mssql'])
database_name (str)
location (str)
port (int)
username (str)
password (str)
sqlite_db_extension (str)
bind_key (str | None)
enabled (bool)
- allowed_dialects: Tuple[str, ...] = ('mysql', 'postgresql', 'sqlite', 'oracle', 'mssql')¶
- as_dict()¶
Return the database configuration as a dictionary.
- Returns:
the database configuration as a dictionary
- Return type:
Dict[str, Any]
- uri(app_instance_path)¶
Return the database URI.
- Parameters:
app_instance_path (Path) – the app instance path
- Returns:
the database URI
- Return type:
str
- enabled: bool¶
- dialect: Literal['mysql', 'postgresql', 'sqlite', 'oracle', 'mssql']¶
- bind_key: str | None¶
- database_name: str¶
- location: str¶
- port: int¶
- username: str¶
- password: str¶
- sqlite_db_extension: str¶
- class flask_imp.config.SQLDatabaseConfig(dialect, database_name, location, port, username, password, bind_key=None, enabled=True)¶
Bases:
object- Parameters:
dialect (Literal['mysql', 'postgresql', 'oracle', 'mssql'])
database_name (str)
location (str)
port (int)
username (str)
password (str)
bind_key (str | None)
enabled (bool)
- allowed_dialects: Tuple[str, ...] = ('mysql', 'postgresql', 'oracle', 'mssql')¶
- as_dict()¶
- Return type:
Dict[str, Any]
- bind_key: str | None = None¶
- enabled: bool = False¶
- uri()¶
- Return type:
str
- dialect: Literal['mysql', 'postgresql', 'oracle', 'mssql']¶
- database_name: str¶
- location: str¶
- port: int¶
- username: str¶
- password: str¶
- class flask_imp.config.SQLiteDatabaseConfig(database_name='database', sqlite_db_extension='.sqlite', location=None, bind_key=None, enabled=True)¶
Bases:
object- Parameters:
database_name (str)
sqlite_db_extension (str)
location (Path | None)
bind_key (str | None)
enabled (bool)
- as_dict()¶
- Return type:
Dict[str, Any]
- uri(app_instance_path)¶
- Parameters:
app_instance_path (Path)
- Return type:
str
- database_name: str¶
- sqlite_db_extension: str¶
- location: Path | None¶
- bind_key: str | None¶
- enabled: bool¶
- class flask_imp.config.ImpConfig(init_session=None, database_main=None, database_binds=None)¶
Bases:
objectImp configuration class.
- Parameters:
init_session (t.Optional[t.Dict[str, t.Any]])
database_main (t.Optional[t.Union[DatabaseConfig, SQLiteDatabaseConfig, SQLDatabaseConfig]])
database_binds (t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLiteDatabaseConfig, SQLDatabaseConfig]]])
- IMP_INIT_SESSION: t.Optional[t.Dict[str, t.Any]]¶
- IMP_DATABASE_MAIN: t.Optional[t.Union[DatabaseConfig, SQLiteDatabaseConfig, SQLDatabaseConfig]]¶
- IMP_DATABASE_BINDS: t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLiteDatabaseConfig, SQLDatabaseConfig]]]¶
- class flask_imp.config.ImpBlueprintConfig(enabled=True, url_prefix=None, subdomain=None, url_defaults=None, static_folder=None, template_folder=None, static_url_path=None, root_path=None, cli_group=None, init_session=None, database_binds=None)¶
Bases:
objectBlueprint configuration class used by the ImpBlueprint class.
- Parameters:
enabled (bool)
url_prefix (t.Optional[str])
subdomain (t.Optional[str])
url_defaults (t.Optional[t.Dict[str, t.Any]])
static_folder (t.Optional[str])
template_folder (t.Optional[str])
static_url_path (t.Optional[str])
root_path (t.Optional[str])
cli_group (t.Optional[str])
init_session (t.Optional[t.Dict[str, t.Any]])
database_binds (t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLDatabaseConfig, SQLiteDatabaseConfig]]])
- cli_group: t.Optional[str] = None¶
- database_binds: t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLDatabaseConfig, SQLiteDatabaseConfig]]] = None¶
- flask_blueprint_args()¶
- Return type:
Dict[str, Any]
- init_session: t.Optional[t.Dict[str, t.Any]] = None¶
- root_path: t.Optional[str] = None¶
- static_folder: t.Optional[str] = None¶
- static_url_path: t.Optional[str] = None¶
- subdomain: t.Optional[str] = None¶
- template_folder: t.Optional[str] = None¶
- url_default: t.Optional[t.Dict[str, t.Any]] = None¶
- url_prefix: t.Optional[str] = None¶
- enabled: bool¶