Метод render_as_string
Метод render_as_string класса URL
возвращает URL подключения в виде строки.
Первым параметром метод принимает флаг
hide_password, который скрывает пароль
в итоговой строке. Вторым параметром передается
флаг quote_plus, который включает
URL-кодирование специальных символов.
Метод удобен, когда нужно получить строку
подключения из уже созданного объекта URL,
например, для логирования или передачи в
функцию create_engine.
Синтаксис
url.render_as_string(hide_password=True, quote_plus=False)
Пример
Давайте создадим объект URL и получим
его строковое представление:
from sqlalchemy import make_url
url = make_url('sqlite:///:memory:')
res = url.render_as_string()
print(res)
Результат выполнения кода:
"sqlite:///:memory:"
Пример
Давайте создадим URL с логином и паролем
и посмотрим, как параметр hide_password
влияет на результат:
from sqlalchemy import make_url
url = make_url('postgresql://user:secret@localhost:5432/articles')
print(url.render_as_string(hide_password=True))
print(url.render_as_string(hide_password=False))
Результат выполнения кода:
"postgresql://user:***@localhost:5432/articles"
"postgresql://user:secret@localhost:5432/articles"
Пример
Давайте создадим URL с параметрами запроса
и включим URL-кодирование через quote_plus:
from sqlalchemy import make_url
url = make_url('sqlite:///:memory:?mode=ro&cache=shared')
print(url.render_as_string(quote_plus=True))
Результат выполнения кода:
"sqlite:///:memory:?mode=ro&cache=shared"
Пример
Давайте передадим строку, полученную методом
render_as_string, в функцию
create_engine:
from sqlalchemy import create_engine, make_url, text
url = make_url('sqlite:///:memory:')
engine = create_engine(url.render_as_string())
with engine.connect() as conn:
res = conn.execute(text('SELECT 1')).scalar()
print(res)
Результат выполнения кода:
1
Смотрите также
-
класс
URL,
который представляет URL подключения -
метод
create,
который создает объект URL из компонентов -
метод
update_query_dict,
который обновляет параметры запроса URL -
метод
difference_update_query,
который удаляет параметры запроса URL