· 7 years ago · Aug 11, 2018, 04:38 PM
1# -*- coding: utf-8 -*-
2"""
3Django settings for gonline_project project.
4
5Generated by 'django-admin startproject' using Django 1.11.
6
7For more information on this file, see
8https://docs.djangoproject.com/en/dev/topics/settings/
9
10For the full list of settings and their values, see
11https://docs.djangoproject.com/en/dev/ref/settings/
12"""
13
14import os
15
16# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
17BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
18
19
20# Quick-start development settings - unsuitable for production
21# See https://docs.djangoproject.com/en/dev/howto/deployment/checklist/
22
23# SECURITY WARNING: keep the secret key used in production secret!
24SECRET_KEY = '9+(-oo%bvz5_nz!x@e2@ot6_#0vu(ilthawdy2q^vcgwnb5yu!'
25
26# SECURITY WARNING: don't run with debug turned on in production!
27DEBUG = True
28
29# ALLOWED_HOSTS = ['chartes.geoespaciales.com']
30
31# Application definition
32
33
34INSTALLED_APPS = [
35 'website.apps.WebsiteConfig',
36 'gurbe.apps.GurbeConfig',
37 #'elecciones.apps.EleccionesConfig',
38 'django.contrib.admin',
39 'django.contrib.gis',
40 'django.contrib.auth',
41 'django.contrib.contenttypes',
42 'django.contrib.sessions',
43 'django.contrib.messages',
44 'django.contrib.staticfiles',
45 'django.contrib.sites',
46 'rest_framework',
47 #'chartes_api',
48 'rest_framework.authtoken',
49 # AWS module via pip django-storages
50 'storages',
51]
52
53MIDDLEWARE = [
54 'django.middleware.security.SecurityMiddleware',
55 'django.contrib.sessions.middleware.SessionMiddleware',
56 'django.middleware.locale.LocaleMiddleware', # POR JONAS PARA EL LANG
57 'django.middleware.common.CommonMiddleware',
58 'django.middleware.csrf.CsrfViewMiddleware',
59 'django.contrib.auth.middleware.AuthenticationMiddleware',
60 'django.contrib.messages.middleware.MessageMiddleware',
61 'django.middleware.clickjacking.XFrameOptionsMiddleware',
62]
63
64REST_FRAMEWORK = {
65 'DEFAULT_AUTHENTICATION_CLASSES': (
66 'rest_framework.authentication.TokenAuthentication',
67 'rest_framework.authentication.BasicAuthentication',
68 'rest_framework.authentication.SessionAuthentication',
69 )
70}
71
72ROOT_URLCONF = 'gonline_project.urls'
73
74TEMPLATES = [
75 {
76 'BACKEND': 'django.template.backends.django.DjangoTemplates',
77 'DIRS': [os.path.join(BASE_DIR, 'templates')],
78 'APP_DIRS': True,
79 'OPTIONS': {
80 'context_processors': [
81 'django.template.context_processors.debug',
82 'django.template.context_processors.request',
83 'django.contrib.auth.context_processors.auth',
84 'django.contrib.messages.context_processors.messages',
85 'django.template.context_processors.media',
86 'django.template.context_processors.i18n', # POR JONAS PARA EL LANG
87 ],
88 },
89 },
90]
91
92WSGI_APPLICATION = 'gonline_project.wsgi.application'
93
94
95# Database
96# https://docs.djangoproject.com/en/dev/ref/settings/#databases
97
98DATABASES = {
99 'default': {
100 #'ENGINE': 'django.contrib.gis.db.backends.postgis',
101 'ENGINE': 'django.db.backends.postgresql',
102 'NAME': 'chartesdb',
103 'USER': 'chartesuser',
104 'PASSWORD': '2017.Chartes-Passwd',
105 'HOST': 'localhost',
106 'PORT': '5432',
107 },
108 'chartes': {
109 'ENGINE': 'django.db.backends.postgresql',
110 #'ENGINE': 'django.contrib.gis.db.backends.postgis',
111 'NAME': 'chartesdb',
112 'USER': 'chartesuser',
113 'PASSWORD': '2017.Chartes-Passwd',
114 'HOST': 'localhost',
115 'PORT': '5432',
116 }
117 #'chartesapidb': {
118 # 'ENGINE': 'django.db.backends.postgresql',
119 # #'ENGINE': 'django.contrib.gis.db.backends.postgis',
120 # 'NAME': 'chartesapidb',
121 # 'USER': 'chartesuser',
122 # 'PASSWORD': '2017.Chartes-Passwd',
123 # 'HOST': 'localhost',
124 # 'PORT': '5432',
125 #},
126 #'webgis': {
127 # 'ENGINE': 'django.contrib.gis.db.backends.postgis',
128 # 'NAME': 'webgis',
129 # 'USER': 'webgisuser',
130 # 'PASSWORD': '2017.Webgis-Passwd',
131 # 'HOST': 'localhost',
132 # 'PORT': '5432',
133 #},
134 #'chartesapidb_externa': {
135 # 'ENGINE': 'django.db.backends.postgresql',
136 # #'ENGINE': 'django.contrib.gis.db.backends.postgis',
137 # 'NAME': 'chartes',
138 # 'USER': 'djangouser',
139 # 'PASSWORD': 'RSoI2SvJfwyhja5K',
140 # 'HOST': 'django-psql-persistent-chartes.a3c1.starter-us-west-1.openshiftapps.com',
141 # 'PORT': '5432',
142 #},
143
144 #'electoral': {
145 # 'ENGINE': 'django.contrib.gis.db.backends.postgis',
146 # 'NAME': 'electoral',
147 # 'USER': 'chartesuser',
148 # 'PASSWORD': '2017.Chartes-Passwd',
149 # 'HOST': 'localhost',
150 # 'PORT': '5432',
151 #}
152}
153
154# We need to implement this behaviour so we prevent to
155# sync all migrations with all databases. We don't need it.
156# It was implemented but not worked as expected. Need research.
157#DATABASE_ROUTERS = [
158# 'routers.ChartesRouter',
159# 'routers.ElectoralRouter',
160# 'routers.ChartesApiRouter'
161#]
162
163# Password validation
164# https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators
165
166AUTH_PASSWORD_VALIDATORS = [
167 {
168 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
169 },
170 {
171 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
172 },
173 {
174 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
175 },
176 {
177 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
178 },
179]
180
181
182#AUTHENTICATION_BACKENDS = [
183# 'django_auth_ldap.backend.LDAPBackend',
184# 'django.contrib.auth.backends.ModelBackend',
185#]
186
187
188# Internationalization
189# https://docs.djangoproject.com/en/dev/topics/i18n/
190
191LOCALE_PATHS = [
192 BASE_DIR + '/locale',
193]
194
195from django.utils.translation import ugettext_lazy as _
196LANGUAGES = (
197 ('en', _('English')),
198 ('es', _('Spanish')),
199)
200#LANGUAGE_CODE = 'en-us'
201
202#TIME_ZONE = 'UTC'
203TIME_ZONE = 'America/Cancun'
204
205USE_I18N = True
206
207USE_L10N = True
208
209USE_TZ = True
210
211
212# Static files (CSS, JavaScript, Images)
213# https://docs.djangoproject.com/en/dev/howto/static-files/
214
215# MEDIA_URL = '/media/'
216# MEDIA_ROOT = os.path.join(BASE_DIR, "../") + 'htdocs/media/'
217# STATIC_URL = '/static/'
218# STATIC_ROOT = os.path.join(BASE_DIR, "../") + 'htdocs/static/'
219
220# TEMPLATE_CONTEXT_PROCESSORS = (
221# # other default context processors
222# 'website.context_processors.estados',
223# )
224
225SITE_ID = 1
226
227# App prod config
228# - - - - - - - - - - - - - - - - - - - -
229ALLOWED_HOSTS = ['geochartes.com']
230
231
232
233# AWS configuration envvars
234AWS_ACCESS_KEY_ID = 'AKIAI7XWXD3HBZHNKZIA'
235AWS_SECRET_ACCESS_KEY = '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'
236AWS_STORAGE_BUCKET_NAME = 'tc-global-bucket'
237AWS_S3_CUSTOM_DOMAIN = '%s.s3.us-east-2.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
238AWS_S3_OBJECT_PARAMETERS = {
239 'CacheControl': 'max-age=86400',
240}
241AWS_LOCATION = 'static'
242
243
244MAPFILES_DIR = '/home/gonline/private/mapfiles'
245MAPSERV_CGI = '20170414'
246
247
248LOCAL_ENVIRONMENT = False
249# This is envvar for statics on cloud
250STATICFILES_DIRS = [
251 os.path.join(HTDOCTS_DIR, AWS_LOCATION),
252 os.path.join(HTDOCTS_DIR, AWS_LOCATION),
253]
254
255STATICFILES_lOCATION = '{0}'.format(AWS_LOCATION)
256#STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
257STATICFILES_STORAGE = 'gonline_project.storage_backends.StaticStorage'
258STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
259
260MEDIAFILES_lOCATION = 'media'
261DEFAULT_FILE_STORAGE = 'gonline_project.storage_backends.MediaStorage'
262MEDIA_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, 'media')
263
264GEOJSON_FILES_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, 'geojsons')
265
266
267BASE_MAPFILE = '{0}/{1}'.format(MAPFILES_DIR, REQUIRED_MAPFILE)
268MAPSERVER_URL_SERVICE = '{0}://{1}{2}/{3}?'.format(APP_HTTP_MODE, MAPSERVER_NAME, CGIBIN_PATH, MAPSERV_CGI)