X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=sf_t3d%2Fsettings.py;h=528929dacbcf6c31de1dce8a73ff6b3752d83987;hb=c1e3d672556a859371f2586d6e512bfb708b7561;hp=36de1b64e883000635801da9f63207391ef0c739;hpb=099364f3465712ac0232f9535ee15b3b5f902fa9;p=osm%2FLW-UI.git diff --git a/sf_t3d/settings.py b/sf_t3d/settings.py index 36de1b6..528929d 100644 --- a/sf_t3d/settings.py +++ b/sf_t3d/settings.py @@ -1,16 +1,23 @@ -""" -Django settings for sf_t3d project. - -Generated by 'django-admin startproject' using Django 1.9. - -For more information on this file, see -https://docs.djangoproject.com/en/1.9/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/1.9/ref/settings/ -""" +# +# Copyright 2018 EveryUP Srl +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# import os +import sys + +from sqlalchemy.engine.url import make_url # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -21,11 +28,12 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'o5+o2jv(3-dqr(&ia#-@79cgr%xi*s+6xjws^8cxp211ge#buf' +if os.getenv('DJANGO_ENV') == 'prod': + DEBUG = False +else: + DEBUG = True -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ['*'] AUTH_USER_MODEL = "authosm.OsmUser" @@ -45,18 +53,27 @@ INSTALLED_APPS = [ 'django.contrib.contenttypes', 'django.contrib.messages', 'django.contrib.staticfiles', - 'sf_user', + 'django.contrib.sessions', 'authosm', 'projecthandler', + 'packagehandler', + 'descriptorhandler', 'vimhandler', + 'wimhandler', 'instancehandler', 'sdnctrlhandler', + 'userhandler', + 'rolehandler', + 'netslicehandler', + 'k8sclusterhandler', + 'k8srepohandler' ] MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'projecthandler.middleware.OsmProjectMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -64,9 +81,10 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + ] -SESSION_ENGINE='sf_user.sessions' +SESSION_ENGINE ='django.contrib.sessions.backends.db' SESSION_COOKIE_AGE = 3500 #25 min SESSION_EXPIRE_AT_BROWSER_CLOSE = True SESSION_SAVE_EVERY_REQUEST = True @@ -81,9 +99,16 @@ TEMPLATES = [ os.path.join(BASE_DIR, 'projecthandler', 'template'), os.path.join(BASE_DIR, 'projecthandler', 'template', 'download'), os.path.join(BASE_DIR, 'projecthandler', 'template', 'project'), + os.path.join(BASE_DIR, 'packagehandler', 'template'), + os.path.join(BASE_DIR, 'descriptorhandler', 'template'), os.path.join(BASE_DIR, 'vimhandler', 'template'), + os.path.join(BASE_DIR, 'wimhandler', 'template'), os.path.join(BASE_DIR, 'instancehandler', 'template'), os.path.join(BASE_DIR, 'sdnctrlhandler', 'template'), + os.path.join(BASE_DIR, 'userhandler', 'templates'), + os.path.join(BASE_DIR, 'netslicehandler', 'template'), + os.path.join(BASE_DIR, 'k8sclusterhandler', 'template'), + os.path.join(BASE_DIR, 'k8srepohandler', 'template'), ], 'APP_DIRS': True, 'OPTIONS': { @@ -108,12 +133,26 @@ WSGI_APPLICATION = 'sf_t3d.wsgi.application' # Database # https://docs.djangoproject.com/en/1.9/ref/settings/#databases -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), +sql_uri = make_url(os.getenv('OSMUI_SQL_DATABASE_URI', 'sqlite:///db.sqlite3')) +if 'sqlite' in sql_uri.drivername: + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, sql_uri.database if sql_uri.database else 'db.sqlite3'), + } + } +else: + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': sql_uri.database if sql_uri.database else 'lwui', + 'USER': sql_uri.username, + 'PASSWORD': sql_uri.password, + 'HOST': sql_uri.host, + 'PORT': sql_uri.port, + } } -} + AUTHENTICATION_BACKENDS = ['authosm.backend.OsmBackend'] @@ -155,20 +194,46 @@ USE_TZ = True # https://docs.djangoproject.com/en/1.9/howto/static-files/ STATIC_URL = '/static/' - -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', - 'django.contrib.staticfiles.finders.DefaultStorageFinder' -) - -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. - os.path.join(BASE_DIR, "static"), -) +if DEBUG: + STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + 'django.contrib.staticfiles.finders.DefaultStorageFinder' + ) + STATICFILES_DIRS = ( + # Put strings here, like "/home/html/static" or "C:/www/django/static". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. + os.path.join(BASE_DIR, "static"), + ) +else: + STATIC_ROOT = os.path.join(BASE_DIR, "static/") LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), -) \ No newline at end of file +) + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'verbose': { + 'format': '[django] %(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' + } + }, + 'handlers': { + 'console': { + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + 'stream': sys.stdout, + 'formatter': 'verbose' + }, + }, + 'loggers': { + 'django': { + 'handlers': ['console'], + 'level': 'DEBUG', + 'propagate': True, + }, + }, +} \ No newline at end of file