· 6 years ago · Sep 19, 2019, 11:36 AM
1ProgrammingError at /api/authentication/login/
2column authentication_sallyuser.resolve_driver_alert_permission does not exist
3LINE 1: ...on_sallyuser"."resolve_vehicle_alert_permission", "authentic...
4 ^
5
6
7Request Method: POST
8Request URL: https://george-api-staging.drivesally.com/api/authentication/login/
9Django Version: 2.2.4
10Python Executable: /usr/local/bin/python
11Python Version: 3.6.9
12Python Path: ['/app', '/usr/local/bin', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/app']
13Server time: Thu, 19 Sep 2019 11:32:30 +0000
14Installed Applications:
15['authentication.apps.AuthenticationConfig',
16 'django.contrib.admin',
17 'django.contrib.auth',
18 'django.contrib.contenttypes',
19 'django.contrib.sessions',
20 'django.contrib.messages',
21 'django.contrib.staticfiles',
22 'django.contrib.gis',
23 'rest_framework',
24 'rest_framework.authtoken',
25 'rest_auth',
26 'rest_framework_jwt',
27 'debug_toolbar',
28 'corsheaders',
29 'raven.contrib.django.raven_compat',
30 'algoliasearch_django',
31 'django_celery_results',
32 'django_celery_beat',
33 'storages',
34 'django_filters',
35 'core',
36 'documents.apps.DocumentsConfig',
37 'drivers.apps.DriversConfig',
38 'invoice_generation.apps.InvoiceGenerationConfig',
39 'maintenance',
40 'payments.apps.PaymentConfig',
41 'rentals.apps.RentalsConfig',
42 'reports.apps.ReportsConfig',
43 'elastic.apps.ElasticConfig',
44 'tickets',
45 'vehicles.apps.VehiclesConfig',
46 'alerts',
47 'notifications',
48 'aircall',
49 'checkin.apps.CheckinConfig',
50 'gas',
51 'samson',
52 'klembot',
53 'health_check',
54 'health_check.db',
55 'health_check.contrib.celery',
56 'health_check.contrib.s3boto3_storage',
57 'elasticapm.contrib.django']
58Installed Middleware:
59['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
60 'raven.contrib.django.middleware.SentryMiddleware',
61 'elasticapm.contrib.django.middleware.TracingMiddleware',
62 'django.middleware.security.SecurityMiddleware',
63 'whitenoise.middleware.WhiteNoiseMiddleware',
64 'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware',
65 'django.middleware.locale.LocaleMiddleware',
66 'corsheaders.middleware.CorsMiddleware',
67 'debug_toolbar.middleware.DebugToolbarMiddleware',
68 'django.contrib.sessions.middleware.SessionMiddleware',
69 'django.middleware.common.CommonMiddleware',
70 'django.middleware.csrf.CsrfViewMiddleware',
71 'django.contrib.auth.middleware.AuthenticationMiddleware',
72 'django.contrib.messages.middleware.MessageMiddleware',
73 'django.middleware.clickjacking.XFrameOptionsMiddleware']
74
75
76Traceback:
77
78File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
79 84. return self.cursor.execute(sql, params)
80
81File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in execute
82 200. return self._trace_sql(self.__wrapped__.execute, sql, params)
83
84File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in _trace_sql
85 220. return method(sql, params)
86
87The above exception (column authentication_sallyuser.resolve_driver_alert_permission does not exist
88LINE 1: ...on_sallyuser"."resolve_vehicle_alert_permission", "authentic...
89 ^
90) was the direct cause of the following exception:
91
92File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
93 34. response = get_response(request)
94
95File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
96 115. response = self.process_exception_by_middleware(e, request)
97
98File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
99 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
100
101File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
102 54. return view_func(*args, **kwargs)
103
104File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py" in view
105 71. return self.dispatch(request, *args, **kwargs)
106
107File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
108 505. response = self.handle_exception(exc)
109
110File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
111 465. self.raise_uncaught_exception(exc)
112
113File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in raise_uncaught_exception
114 476. raise exc
115
116File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
117 502. response = handler(request, *args, **kwargs)
118
119File "/usr/local/lib/python3.6/site-packages/rest_framework_jwt/views.py" in post
120 57. if serializer.is_valid():
121
122File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in is_valid
123 235. self._validated_data = self.run_validation(self.initial_data)
124
125File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in run_validation
126 433. value = self.validate(value)
127
128File "/usr/local/lib/python3.6/site-packages/rest_framework_jwt/serializers.py" in validate
129 50. user = authenticate(**credentials)
130
131File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/__init__.py" in authenticate
132 73. user = backend.authenticate(request, **credentials)
133
134File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/backends.py" in authenticate
135 20. user = UserModel._default_manager.get_by_natural_key(username)
136
137File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/base_user.py" in get_by_natural_key
138 44. return self.get(**{self.model.USERNAME_FIELD: username})
139
140File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py" in manager_method
141 82. return getattr(self.get_queryset(), name)(*args, **kwargs)
142
143File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py" in get
144 402. num = len(clone)
145
146File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py" in __len__
147 256. self._fetch_all()
148
149File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py" in _fetch_all
150 1242. self._result_cache = list(self._iterable_class(self))
151
152File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py" in __iter__
153 55. results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
154
155File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql
156 1100. cursor.execute(sql, params)
157
158File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in execute
159 99. return super().execute(sql, params)
160
161File "/usr/local/lib/python3.6/site-packages/raven/contrib/django/client.py" in execute
162 123. return real_execute(self, sql, params)
163
164File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in execute
165 67. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
166
167File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
168 76. return executor(sql, params, many, context)
169
170File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
171 84. return self.cursor.execute(sql, params)
172
173File "/usr/local/lib/python3.6/site-packages/django/db/utils.py" in __exit__
174 89. raise dj_exc_value.with_traceback(traceback) from exc_value
175
176File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
177 84. return self.cursor.execute(sql, params)
178
179File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in execute
180 200. return self._trace_sql(self.__wrapped__.execute, sql, params)
181
182File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in _trace_sql
183 220. return method(sql, params)
184
185Exception Type: ProgrammingError at /api/authentication/login/
186Exception Value: column authentication_sallyuser.resolve_driver_alert_permission does not exist
187LINE 1: ...on_sallyuser"."resolve_vehicle_alert_permission", "authentic...
188 ^
189
190Request information:
191USER: AnonymousUser
192
193GET: No GET data
194
195POST: No POST data
196
197FILES: No FILES data
198
199COOKIES: No cookie data
200
201META:
202CONTENT_LENGTH = '42'
203CONTENT_TYPE = 'application/json'
204HTTP_ACCEPT = 'application/json'
205HTTP_ACCEPT_ENCODING = 'br, gzip, deflate'
206HTTP_ACCEPT_LANGUAGE = 'en-us'
207HTTP_HOST = 'george-api-staging.drivesally.com'
208HTTP_ORIGIN = 'https://staging.drivesally.com'
209HTTP_REFERER = 'https://staging.drivesally.com/'
210HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15'
211HTTP_X_AMZN_TRACE_ID = 'Root=1-5d83674e-e98c273c51bd447e0e9576c6'
212HTTP_X_FORWARDED_FOR = '86.61.10.11'
213HTTP_X_FORWARDED_PORT = '443'
214HTTP_X_FORWARDED_PROTO = 'https'
215PATH_INFO = '/api/authentication/login/'
216QUERY_STRING = ''
217RAW_URI = '/api/authentication/login/'
218REMOTE_ADDR = '172.21.30.132'
219REMOTE_PORT = '61742'
220REQUEST_METHOD = 'POST'
221SCRIPT_NAME = ''
222SERVER_NAME = '0.0.0.0'
223SERVER_PORT = '8000'
224SERVER_PROTOCOL = 'HTTP/1.1'
225SERVER_SOFTWARE = 'gunicorn/19.8.1'
226gunicorn.socket = <socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.5', 8000), raddr=('172.21.30.132', 61742)>
227wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff4ec08c668>
228wsgi.file_wrapper = ''
229wsgi.input = <gunicorn.http.body.Body object at 0x7ff4ec08c748>
230wsgi.multiprocess = True
231wsgi.multithread = False
232wsgi.run_once = False
233wsgi.url_scheme = 'http'
234wsgi.version = '(1, 0)'
235
236Settings:
237Using settings module ops4_backend.settings
238ABSOLUTE_URL_OVERRIDES = {}
239ADMINS = []
240ALGOLIA = {'APPLICATION_ID': 'H7N8OPI3TN', 'API_KEY': '********************', 'SEARCH_API_KEY': '********************', 'INDEX_PREFIX': 'ops4', 'INDEX_SUFFIX': 'backend_dev', 'AUTO_INDEXING': False}
241ALLOWED_HOSTS = ['127.0.0.1', '0.0.0.0', '0.0.0.0:8000', 'localhost:3000', 'localhost:8000', 'localhost', 'ops4-backend-production.herokuapp.com', 'ops4-backend-staging.herokuapp.com', 'ops4-dashboard.herokuapp.com', 'sally-short-url.herokuapp.com', 'ops4-backend-demo.herokuapp.com', 'newly-created-demo.drivesally.com', 'sally-office.herokuapp.com', 'george-api-demo.drivesally.com', 'george-api-staging.drivesally.com', 'george-api-production.drivesally.com', '172.21.10.139']
242API_TOKENS = '********************'
243APPEND_SLASH = True
244AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
245AUTH_PASSWORD_VALIDATORS = '********************'
246AUTH_USER_MODEL = 'authentication.SallyUser'
247AWS_ACCESS_KEY_ID = '********************'
248AWS_DEFAULT_ACL = None
249AWS_DYNAMO = {'ACCESS_KEY_ID': '********************', 'SECRET_ACCESS_KEY': '********************'}
250AWS_S3_CUSTOM_DOMAIN = None
251AWS_SECRET_ACCESS_KEY = '********************'
252AWS_STORAGE_BUCKET_NAME = 'ops4.5-staging-bucket'
253BACKGROUND_TASKS = {}
254BASE_DIR = '/app'
255CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://:nvUyDztpJMBwlG69Wh0y96SKANbXTUsK@redis-11551.c17.us-east-1-4.ec2.cloud.redislabs.com:11551', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
256CACHE_MIDDLEWARE_ALIAS = 'default'
257CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
258CACHE_MIDDLEWARE_SECONDS = 600
259CALAMP = {'USERNAME': 'DriveSally', 'PASSWORD': '********************', 'APP_TOKEN': '********************', 'HOST': 'https://connect.calamp.com', 'ACCOUNT_ID': '1587'}
260CELERY_ACCEPT_CONTENT = ['application/json']
261CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
262CELERY_BROKER_HEARTBEAT = 0
263CELERY_BROKER_URL = 'amqp://loxgehzr:PzlQUgQ-dDny0hrrX-MfucMHS-689KSX@flashy-bee.rmq.cloudamqp.com/loxgehzr'
264CELERY_ENABLE_UTC = True
265CELERY_RESULT_BACKEND = 'django-db'
266CELERY_RESULT_SERIALIZER = 'json'
267CELERY_TASK_CREATE_MISSING_QUEUES = True
268CELERY_TASK_SERIALIZER = 'json'
269CELERY_TIMEZONE = 'UTC'
270CORS_ALLOW_HEADERS = "('accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'apikey', 'sallyapikey', 'http_apikey', 'x-cards-apikey')"
271CORS_ORIGIN_ALLOW_ALL = True
272CSRF_COOKIE_AGE = 31449600
273CSRF_COOKIE_DOMAIN = None
274CSRF_COOKIE_HTTPONLY = False
275CSRF_COOKIE_NAME = 'csrftoken'
276CSRF_COOKIE_PATH = '/'
277CSRF_COOKIE_SAMESITE = 'Lax'
278CSRF_COOKIE_SECURE = False
279CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
280CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
281CSRF_TRUSTED_ORIGINS = []
282CSRF_USE_SESSIONS = False
283DATABASES = {'default': {'NAME': 'ops4', 'USER': 'postgres', 'PASSWORD': '********************', 'HOST': 'george-staging.cm2gqjsa9f1x.us-east-2.rds.amazonaws.com', 'PORT': 5432, 'CONN_MAX_AGE': 500, 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
284DATABASE_ROUTERS = []
285DATABASE_URL = 'postgres://postgres:jRTn3sczfhhOuX2gcYT1@george-staging.cm2gqjsa9f1x.us-east-2.rds.amazonaws.com:5432/ops4'
286DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
287DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
288DATETIME_FORMAT = 'N j, Y, P'
289DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
290DATE_FORMAT = 'N j, Y'
291DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
292DEBUG = True
293DEBUG_PROPAGATE_EXCEPTIONS = False
294DECIMAL_SEPARATOR = '.'
295DEFAULT_CHARSET = 'utf-8'
296DEFAULT_CONTENT_TYPE = 'text/html'
297DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
298DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
299DEFAULT_FROM_EMAIL = 'join@drivesally.com'
300DEFAULT_INDEX_TABLESPACE = ''
301DEFAULT_TABLESPACE = ''
302DEV_SERVER = False
303DISALLOWED_USER_AGENTS = []
304DROPBOX = 'vlXgFTXkSUAAAAAAAAAAGIJAdEQBPLJJch2Arp8FwtVSxmUgMXyi1kfo3rGDKiQT'
305EC2_IP = '172.21.10.139'
306ELASTIC_APM = {'SERVICE_NAME': 'staging_poc', 'SECRET_TOKEN': '********************', 'SERVER_URL': 'https://abe51f291e194add85afaf7c985edddf.apm.us-east-1.aws.cloud.es.io:443', 'SERVER_TIMEOUT': '5s', 'DEBUG': 'False', 'DJANGO_TRANSACTION_NAME_FROM_ROUTE': True, 'CAPTURE_BODY': False, 'TRANSACTIONS_IGNORE_PATTERNS': ['POST vehicles.views.CalampAvlEventView', 'POST api/vehicles/calamp_event/avl/']}
307ELASTIC_LOGSTASH_ENV = 'staging'
308EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
309EMAIL_HOST = 'smtp.mailgun.org'
310EMAIL_HOST_PASSWORD = '********************'
311EMAIL_HOST_USER = 'postmaster@mailgun.drivesally.com'
312EMAIL_PORT = 587
313EMAIL_SSL_CERTFILE = None
314EMAIL_SSL_KEYFILE = '********************'
315EMAIL_SUBJECT_PREFIX = '[Django] '
316EMAIL_TIMEOUT = None
317EMAIL_USE_LOCALTIME = False
318EMAIL_USE_SSL = False
319EMAIL_USE_TLS = True
320FILE_CHARSET = 'utf-8'
321FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
322FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
323FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
324FILE_UPLOAD_PERMISSIONS = None
325FILE_UPLOAD_TEMP_DIR = None
326FIRST_DAY_OF_WEEK = 0
327FIXTURE_DIRS = []
328FORCE_SCRIPT_NAME = None
329FORMAT_MODULE_PATH = None
330FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
331GDAL_LIBRARY_PATH = ''
332GEOS_LIBRARY_PATH = ''
333GOLDSTAR = {'USERNAME': 'adriel@drivesally.com', 'PASSWORD': '********************'}
334GOOGLE = {'SERVICE_ACCOUNT_FILENAME': '', 'SPREADSHEET_ID': ''}
335IGNORABLE_404_URLS = []
336INSTALLED_APPS = ['authentication.apps.AuthenticationConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'rest_framework', 'rest_framework.authtoken', 'rest_auth', 'rest_framework_jwt', 'debug_toolbar', 'corsheaders', 'raven.contrib.django.raven_compat', 'algoliasearch_django', 'django_celery_results', 'django_celery_beat', 'storages', 'django_filters', 'core', 'documents.apps.DocumentsConfig', 'drivers.apps.DriversConfig', 'invoice_generation.apps.InvoiceGenerationConfig', 'maintenance', 'payments.apps.PaymentConfig', 'rentals.apps.RentalsConfig', 'reports.apps.ReportsConfig', 'elastic.apps.ElasticConfig', 'tickets', 'vehicles.apps.VehiclesConfig', 'alerts', 'notifications', 'aircall', 'checkin.apps.CheckinConfig', 'gas', 'samson', 'klembot', 'health_check', 'health_check.db', 'health_check.contrib.celery', 'health_check.contrib.s3boto3_storage', 'elasticapm.contrib.django']
337INTERNAL_IPS = ['localhost', '127.0.0.1', 'ops4-backend-production.herokuapp.com']
338JWT_AUTH = {'JWT_ALLOW_REFRESH': True, 'JWT_PAYLOAD_HANDLER': 'authentication.jwt_handler.jwt_payload_handler', 'JWT_VERIFY_EXPIRATION': True, 'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(7)}
339KUSTOMER = {'API_KEY': '********************'}
340LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
341LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
342LANGUAGE_CODE = 'en-us'
343LANGUAGE_COOKIE_AGE = None
344LANGUAGE_COOKIE_DOMAIN = None
345LANGUAGE_COOKIE_NAME = 'django_language'
346LANGUAGE_COOKIE_PATH = '/'
347LOCALE_PATHS = []
348LOGGING = {'version': 1, 'disable_existing_loggers': True, 'root': {'level': 'WARNING', 'handlers': ['sentry']}, 'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'}}, 'handlers': {'sentry': {'level': 'ERROR', 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', 'tags': {'custom-tag': 'x'}}, 'console': {'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'file': {'level': 'INFO', 'class': 'logging.FileHandler', 'filename': 'ops4_backend_elastic-staging.log'}}, 'loggers': {'django.db.backends': {'level': 'ERROR', 'handlers': ['console'], 'propagate': False}, 'raven': {'level': 'DEBUG', 'handlers': ['console'], 'propagate': False}, 'sentry.errors': {'level': 'DEBUG', 'handlers': ['console'], 'propagate': False}, 'elastic': {'handlers': ['console'], 'level': 'INFO', 'propagate': True}}}
349LOGGING_CONFIG = 'logging.config.dictConfig'
350LOGIN_REDIRECT_URL = '/accounts/profile/'
351LOGIN_URL = '/accounts/login/'
352LOGOUT_REDIRECT_URL = None
353MANAGERS = []
354MEDIA_ROOT = ''
355MEDIA_URL = ''
356MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
357MIDDLEWARE = ['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware', 'raven.contrib.django.middleware.SentryMiddleware', 'elasticapm.contrib.django.middleware.TracingMiddleware', 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware', 'django.middleware.locale.LocaleMiddleware', 'corsheaders.middleware.CorsMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
358MIGRATION = {'HOST': 'https://ops4-production.herokuapp.com', 'USERNAME': 'mitchell', 'PASSWORD': '********************', 'PRODUCTION': False}
359MIGRATION_MODULES = {}
360MONTH_DAY_FORMAT = 'F j'
361NUMBER_GROUPING = 0
362OLD_PASSWORD_FIELD_ENABLED = '********************'
363PASSWORD_HASHERS = '********************'
364PASSWORD_RESET_TIMEOUT_DAYS = '********************'
365PREPEND_WWW = False
366PRIVACY_POLICY_URL = 'https://privacy-staging.drivesally.com'
367PROJ4_LIBRARY_PATH = ''
368RAVEN_CONFIG = {}
369REQUEST_DEFAULT_TIMEOUT = 15.0
370REST_AUTH_SERIALIZERS = {'PASSWORD_RESET_SERIALIZER': '********************'}
371REST_FRAMEWORK = {'UNICODE_JSON': True, 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'PAGE_SIZE': 20, 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',), 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_jwt.authentication.JSONWebTokenAuthentication',), 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer')}
372REST_USE_JWT = True
373ROOT_URLCONF = 'ops4_backend.urls'
374SALLY_LOCATIONS = {'SALLY_HQ': (40.7522791, -73.9419402)}
375SECRET_KEY = '********************'
376SECURE_BROWSER_XSS_FILTER = False
377SECURE_CONTENT_TYPE_NOSNIFF = False
378SECURE_HSTS_INCLUDE_SUBDOMAINS = False
379SECURE_HSTS_PRELOAD = False
380SECURE_HSTS_SECONDS = 0
381SECURE_PROXY_SSL_HEADER = "('HTTP_X_FORWARDED_PROTO', 'https')"
382SECURE_REDIRECT_EXEMPT = []
383SECURE_SSL_HOST = None
384SECURE_SSL_REDIRECT = True
385SERVER_EMAIL = 'root@localhost'
386SESSION_CACHE_ALIAS = 'default'
387SESSION_COOKIE_AGE = 1209600
388SESSION_COOKIE_DOMAIN = None
389SESSION_COOKIE_HTTPONLY = True
390SESSION_COOKIE_NAME = 'sessionid'
391SESSION_COOKIE_PATH = '/'
392SESSION_COOKIE_SAMESITE = 'Lax'
393SESSION_COOKIE_SECURE = False
394SESSION_ENGINE = 'django.contrib.sessions.backends.db'
395SESSION_EXPIRE_AT_BROWSER_CLOSE = False
396SESSION_FILE_PATH = None
397SESSION_SAVE_EVERY_REQUEST = False
398SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
399SETTINGS_MODULE = 'ops4_backend.settings'
400SHORT_DATETIME_FORMAT = 'm/d/Y P'
401SHORT_DATE_FORMAT = 'm/d/Y'
402SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
403SILENCED_SYSTEM_CHECKS = []
404SLACK = {'GENERAL': 'https://hooks.slack.com/services/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', 'SALLY_CHECK_IN': 'https://hooks.slack.com/services/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', 'CARDS': 'https://hooks.slack.com/services/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', 'PAYMENTS': 'https://hooks.slack.com/services/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', 'TURNOVER': 'https://hooks.slack.com/services/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', 'REPORTS': '', 'TICKETS': '', 'LEADS': 'https://hooks.slack.com/services/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', 'GEORGE_PAYMENTS': None, 'FLEX_LEADS': '', 'CALAMP': 'https://hooks.slack.com/services/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', 'MAINTENANCE_ALERTS': 'https://hooks.slack.com/services/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', 'WAILING_CHECK_IN': ''}
405STATICFILES_DIRS = ['/app/static_folder/']
406STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
407STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
408STATIC_ROOT = '/app/static_media/'
409STATIC_URL = '/static/'
410STRIPE = {'API_KEY': '********************'}
411TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
412TESTING = False
413TEST_NON_SERIALIZED_APPS = []
414TEST_RUNNER = 'django.test.runner.DiscoverRunner'
415THOUSAND_SEPARATOR = ','
416TIME_FORMAT = 'P'
417TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
418TIME_ZONE = 'UTC'
419TWILIO = {'ACCOUNT_SID': 'todo', 'ACCOUNT_TOKEN': '********************', 'FROM_NUMBER': 'todo', 'MESSAGING_SERVICE_SID': 'todo'}
420USE_I18N = True
421USE_L10N = True
422USE_THOUSAND_SEPARATOR = False
423USE_TZ = True
424USE_X_FORWARDED_HOST = False
425USE_X_FORWARDED_PORT = False
426VEHICLE_TRACK_FIELDS = ['plate', 'dashcam_serial', 'calamp_device_id', 'spireon_serial', 'emissions_expiry', 'registration_expiry', 'fhv_license_expiry', 'owner', 'vin', 'vehicle_model', 'vehicle_makevehicle_year', 'state']
427VERISK_SFTP_HOST = ''
428VERISK_SFTP_PW = ''
429VERISK_SFTP_USER = ''
430WSGI_APPLICATION = 'ops4_backend.wsgi.application'
431X_FRAME_OPTIONS = 'SAMEORIGIN'
432YEAR_MONTH_FORMAT = 'F Y'
433
434
435You're seeing this error because you have DEBUG = True in your
436Django settings file. Change that to False, and Django will
437display a standard page generated by the handler for this status code.