summaryrefslogtreecommitdiff
path: root/PYTHON/Password & key = PATH.md
diff options
context:
space:
mode:
Diffstat (limited to 'PYTHON/Password & key = PATH.md')
-rw-r--r--PYTHON/Password & key = PATH.md94
1 files changed, 94 insertions, 0 deletions
diff --git a/PYTHON/Password & key = PATH.md b/PYTHON/Password & key = PATH.md
new file mode 100644
index 0000000..a5dc455
--- /dev/null
+++ b/PYTHON/Password & key = PATH.md
@@ -0,0 +1,94 @@
+```python
+# Пример куска программы:
+from django.conf import settings
+
+def webhook(request):
+ ''' Обработчик вебхука от платежной системы '''
+ api_token = settigs.MY_API_KEY # ключ берем из файла settings.py
+ add_mailchimp_email_with_tag(email=request.POST.get('email',
+ audience_name='DONATES',
+ tag='DONATE')
+```
+==`vim config/settings.py`==
+```sh
+#..........
+
+MY_API_KEY = os.getenv('MY_API_KEY')
+
+#..........
+```
+
+### Уровни переменных окружения:
+
+##### - OS (операционная система)
+```sh
+sudo vim /etc/environment
+#--------------
+THIRD_VAR="123"
+# будет видна после перезагрузки
+```
+##### - USER (пользователь)
+```sh
+vim ~/.bashrc
+#--------------
+export USER_VAR=123
+# exit
+echo $USER_VAR
+```
+##### - SESSION (сессия)
+```sh
+export SESSION_VAR=777
+echo $SESSION_VAR
+# после выхода из сессии переменная пропадает
+```
+##### - APPLICATION (приложение)
+```sh
+vim setenv.sh
+#--------------
+#!bash/bin/env python3
+
+export VAR1=123
+export VAR1=12345
+export VAR1=123567hbkjbjk
+#--------------
+
+# запустим скрипт:
+. ./setenv.sh
+
+# или
+source ./setenv.sh
+
+# Также можно сразу запускать приложение с установкой переменных,
+> PYTHON_ENV=123 VAR=435 VAR2=jfhfg3 python testenv.py
+
+```
+
+```python
+# Использование модуля < python-dotenv >
+pip install python-dotenv
+
+nvim .env
+API_KEY='my_secret_key'
+# Сразу добавляем этот файл в .gitignore !!!
+
+# Программа:
+from dotenv import load_dotenv
+
+load_dotenv()
+
+key = os.getenv('API_KEY')
+print(key)
+
+####################
+# Скрытие пароля при вводе:
+from getpass import getpass
+import pyAesCrypt
+
+password = getpass(promt='Пароль для расшифровки')
+pyAesCrypt.decryptFile(
+ "secret_data.aes",
+ "secret_data.txt",
+ password
+)
+```
+