SessionConfig¶
SessionConfig — это простой набор конфигураций, который при передаче активирует встроенное middleware Esmerald.
Когда объект SessionConfig передается в экземпляр приложения, автоматически запускается SessionMiddleware
.
Tip
Больше информации о HTTP сессиях тут.
SessionConfig и приложение¶
Для использования SessionConfig в экземпляре приложения.
from esmerald import Esmerald, SessionConfig, settings
session_config = SessionConfig(
secret_key=settings.secret_key,
)
app = Esmerald(session_config=session_config)
Еще пример
from esmerald import Esmerald, SessionConfig, settings
session_config = SessionConfig(
secret_key=settings.secret_key,
session_cookie="session",
)
app = Esmerald(session_config=session_config)
Параметры¶
Все параметры и значения по умолчанию доступны в справочнике SessionConfig.
SessionConfig и настройки приложения¶
SessionConfig можно настроить напрямую через создание экземпляра приложения, а также через настройки.
from esmerald import EsmeraldAPISettings, ImproperlyConfigured, SessionConfig
class CustomSettings(EsmeraldAPISettings):
@property
def session_config(self) -> SessionConfig:
"""
Initial Default configuration for the SessionConfig.
This can be overwritten in another setting or simply override
`session_config` or then override the `def session_config()`
property to change the behavior of the whole session_config.
"""
if not self.secret_key:
raise ImproperlyConfigured("`secret` setting not configured.")
return SessionConfig(
secret_key=self.secret_key,
session_cookie="session",
)
Это позволит вам поддерживать чистоту настроек и их разделение. Так же избегать перегруженного экземпляра Esmerald.
Esmerald Sessions¶
Если вы не хотите использовать встроенную конфигурацию сессий и предпочитаете более кастомизированный способ управления сессиями в Esmerald, существует официальный пакет Esmerald Sessions, который поможет вам в этом, включая middleware.