浏览代码

using .env file for variables

blezz-tech 1 天之前
父节点
当前提交
7ee80b0517
共有 4 个文件被更改,包括 113 次插入36 次删除
  1. 67 0
      .env.example
  2. 2 2
      .gitignore
  3. 7 7
      bin/install.sh
  4. 37 27
      core/_settings_vars.py

+ 67 - 0
.env.example

@@ -0,0 +1,67 @@
+########
+#
+# Django
+#
+########
+
+DEBUG=True
+SECRET_KEY='django-insecure-$eodx2ilnb*djkahfguiwegbwelgbnajl*u$qkt7j-b)7t1iq'
+CSRF_TRUSTED_ORIGINS=
+ALLOWED_HOSTS=127.0.0.1
+INTERNAL_IPS=127.0.0.1
+NAME_SYSTEM=ShariX
+API_URL=http://127.0.0.1:8000
+
+########
+#
+# Database
+#
+########
+
+DB_NAME=
+DB_USER=
+DB_PASSWORD=
+DB_HOST=
+DB_PORT=5432
+
+########
+#
+# Email
+#
+########
+
+EMAIL_HOST=
+EMAIL_PORT=587
+EMAIL_USE_TLS=
+EMAIL_HOST_USER=
+EMAIL_HOST_PASSWORD=
+DEFAULT_FROM_EMAIL=
+
+########
+#
+# Gunicorn
+#
+########
+
+BIND=127.0.0.1:8000
+
+########
+#
+# ejabber
+#
+########
+
+EJ_PROTOCOL=http
+EJ_IP=10.0.20.9
+EJ_PORT=5280
+EJ_SERVICE=chat.ej.sharix-app.org
+EJ_HOST=ej.sharix-app.org
+
+########
+#
+# metaservice
+#
+########
+
+METASERVICE_NAME=open
+METASERVICE_ID=1

+ 2 - 2
.gitignore

@@ -35,5 +35,5 @@ media/
 *.*.swp
 *.*.swp
 .DS_Store
 .DS_Store
 
 
-# Project configuration variables
-core/settings_vars.py
+# env vars
+.env

+ 7 - 7
bin/install.sh

@@ -72,14 +72,14 @@ source venv/bin/activate
 pip install --upgrade pip
 pip install --upgrade pip
 pip install -r requirements.txt
 pip install -r requirements.txt
 
 
-# Checking for core/settings_vars.py
-if [ -f core/settings_vars.py ]; then
-    echo "File settings_vars.py already exists"
+# Checking for .env
+if [ -f .env ]; then
+    echo "File .env already exists"
 else
 else
-    cp core/_settings_vars.py core/settings_vars.py
-    echo "File settings_vars.py was successfully created"
-    echo "Write the connection settings for the PostgreSQL database."
-    echo "Restart install.sh script after editing."
+    cp .env.example .env
+    echo_success "File .env was successfully created"
+    echo_warning "Write the connection settings for the PostgreSQL database."
+    echo_warning "Restart install.sh script after editing."
     exit
     exit
 fi
 fi
 
 

+ 37 - 27
core/_settings_vars.py

@@ -1,16 +1,21 @@
+from dotenv import load_dotenv
+import os
+
+load_dotenv()
+
 ########
 ########
 #
 #
 # Django
 # Django
 #
 #
 ########
 ########
 
 
-DEBUG = True
-SECRET_KEY = 'django-insecure-$eodx2ilnb*djkahfguiwegbwelgbnajl*u$qkt7j-b)7t1iq'
-CSRF_TRUSTED_ORIGINS = []
-ALLOWED_HOSTS = ["127.0.0.1"]
-INTERNAL_IPS = ["127.0.0.1"]
-NAME_SYSTEM = "ShariX"
-API_URL = 'http://127.0.0.1:8000'
+DEBUG = os.getenv("DEBUG")
+SECRET_KEY = os.getenv("SECRET_KEY")
+CSRF_TRUSTED_ORIGINS = os.getenv("CSRF_TRUSTED_ORIGINS").split(',')
+ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS").split(',')
+INTERNAL_IPS = os.getenv("INTERNAL_IPS").split(',')
+NAME_SYSTEM = os.getenv("NAME_SYSTEM")
+API_URL = os.getenv("API_URL")
 
 
 ########
 ########
 #
 #
@@ -18,11 +23,11 @@ API_URL = 'http://127.0.0.1:8000'
 #
 #
 ########
 ########
 
 
-DB_NAME = None
-DB_USER = None
-DB_PASSWORD = None
-DB_HOST = None
-DB_PORT = 5432
+DB_NAME = os.getenv("DB_NAME")
+DB_USER = os.getenv("DB_USER")
+DB_PASSWORD = os.getenv("DB_PASSWORD")
+DB_HOST = os.getenv("DB_HOST")
+DB_PORT = os.getenv("DB_PORT")
 
 
 ########
 ########
 #
 #
@@ -30,12 +35,12 @@ DB_PORT = 5432
 #
 #
 ########
 ########
 
 
-EMAIL_HOST = None
-EMAIL_PORT = 587
-EMAIL_USE_TLS = True
-EMAIL_HOST_USER = None
-EMAIL_HOST_PASSWORD = None
-DEFAULT_FROM_EMAIL = None
+EMAIL_HOST = os.getenv("EMAIL_HOST")
+EMAIL_PORT = os.getenv("EMAIL_PORT")
+EMAIL_USE_TLS = os.getenv("EMAIL_USE_TLS")
+EMAIL_HOST_USER = os.getenv("EMAIL_HOST_USER")
+EMAIL_HOST_PASSWORD = os.getenv("EMAIL_HOST_PASSWORD")
+DEFAULT_FROM_EMAIL = os.getenv("DEFAULT_FROM_EMAIL")
 
 
 ########
 ########
 #
 #
@@ -43,7 +48,7 @@ DEFAULT_FROM_EMAIL = None
 #
 #
 ########
 ########
 
 
-BIND = "127.0.0.1:8000"
+BIND = os.getenv("BIND")
 
 
 ########
 ########
 #
 #
@@ -51,13 +56,18 @@ BIND = "127.0.0.1:8000"
 #
 #
 ########
 ########
 
 
-EJ_PROTOCOL = "http"
-EJ_IP = "10.0.20.9"
-EJ_PORT = "5280"
+EJ_PROTOCOL = os.getenv("EJ_PROTOCOL")
+EJ_IP = os.getenv("EJ_IP")
+EJ_PORT = os.getenv("EJ_PORT")
 EJ_URL = EJ_PROTOCOL + "://" + EJ_IP + ":" + EJ_PORT + "/" + "api/"
 EJ_URL = EJ_PROTOCOL + "://" + EJ_IP + ":" + EJ_PORT + "/" + "api/"
-EJ_SERVICE = "chat.ej.sharix-app.org"
-EJ_HOST = "ej.sharix-app.org"
+EJ_SERVICE = os.getenv("EJ_SERVICE")
+EJ_HOST = os.getenv("EJ_HOST")
+
+########
+#
+# ejabber
+#
+########
 
 
-# Service name that is used in generating ejabber rooms
-METASERVICE_NAME = "open"
-METASERVICE_ID = 1
+METASERVICE_NAME = os.getenv("METASERVICE_NAME")
+METASERVICE_ID = os.getenv("METASERVICE_ID")