Атрибут password класса URL
Атрибут password класса URL хранит
пароль пользователя, извлеченный из строки
подключения к базе данных. Значение доступно
только для чтения: чтобы изменить пароль,
используйте метод set. Если в URL пароль
не указан, атрибут возвращает None.
Строка подключения обычно имеет вид
dialect+driver://username:password@host:port/database,
и именно часть после двоеточия перед символом
@ попадает в атрибут password.
Синтаксис
url.password
Пример
Давайте разберем строку подключения функцией
make_url и выведем пароль:
from sqlalchemy import make_url
url = make_url('postgresql://user:secret@localhost:5432/mydb')
print(url.password)
Результат выполнения кода:
"secret"
Пример
Если пароль в строке подключения не указан,
атрибут возвращает None:
from sqlalchemy import make_url
url = make_url('sqlite:///:memory:')
print(url.password)
Результат выполнения кода:
None
Пример
Давайте изменим пароль методом set
и проверим новое значение атрибута:
from sqlalchemy import make_url
url = make_url('postgresql://user:secret@localhost:5432/mydb')
new_url = url.set(password='newsecret')
print(new_url.password)
Результат выполнения кода:
"newsecret"
Пример
Давайте соберем строку подключения обратно
методом render_as_string и убедимся,
что пароль скрыт при выводе:
from sqlalchemy import make_url
url = make_url('postgresql://user:secret@localhost:5432/mydb')
print(url.render_as_string(hide_password=True))
Результат выполнения кода:
"postgresql://user:***@localhost:5432/mydb"
Смотрите также
-
класс
URL,
который представляет строку подключения -
атрибут
username,
который хранит имя пользователя -
метод
set,
который изменяет компоненты URL -
метод
render_as_string,
который собирает URL обратно в строку