Мне нужно хранить некоторые пароли сторонних серверов в Django, если быть более точным, в views.py. Они используются для Paramiko SFTP (межмашинное взаимодействие), и вместо паролей невозможно использовать ключи. Конечно, я не люблю писать эти пароли непосредственно в исходный код. Я понял, что Python Keyring будет хорошим способом хранения паролей, и следующий короткий код работает нормально:
import keyring
try:
keyring.get_keyring()
keyring.set_password("system", "user", "passWORD")
pword = keyring.get_password("system", "user")
print pword
except Exception as e:
print e
Я переместил код в Django (views.py):
from django.http import HttpResponse
import keyring
def index(request):
try:
keyring.get_keyring()
keyring.set_password("system", "user", "passWORD")
pword = keyring.get_password("system", "user")
return HttpResponse(pword)
except Exception as e:
return HttpResponse(e)
Затем я попросил Django запустить встроенный сервер разработки, набрав: sudo python manage.py runserver
Наконец, я решил исправить локальный URL-адрес. Результат: в браузере показывалось диалоговое окно с просьбой создать (с первой попытки), а затем открыть (при следующих попытках после того, как я его создал) kdewallet.
Можно ли использовать набор ключей из Django без необходимости взаимодействия с пользователем (= без этих диалогов)?