· 7 years ago · Dec 12, 2018, 12:12 PM
1AssertionError at /api/drivers/15/cards/30/
2'DriverCardUpdate' should either include a `serializer_class` attribute, or override the `get_serializer_class()` method.
3
4Request Method: PATCH
5Request URL: https://ops4-backend-production.herokuapp.com/api/drivers/15/cards/30/
6Django Version: 2.0.6
7Python Executable: /app/.heroku/python/bin/python
8Python Version: 3.6.6
9Python Path: ['/app/.heroku/python/bin', '/app/.heroku/python/lib/python3.6/site-packages/newrelic/bootstrap', '/app', '/app/.heroku/python/lib/python36.zip', '/app/.heroku/python/lib/python3.6', '/app/.heroku/python/lib/python3.6/lib-dynload', '/app/.heroku/python/lib/python3.6/site-packages', '/app']
10Server time: Wed, 12 Dec 2018 12:09:10 +0000
11Installed Applications:
12['authentication.apps.AuthenticationConfig',
13 'django.contrib.admin',
14 'django.contrib.auth',
15 'django.contrib.contenttypes',
16 'django.contrib.sessions',
17 'django.contrib.messages',
18 'django.contrib.staticfiles',
19 'rest_framework',
20 'rest_framework.authtoken',
21 'rest_auth',
22 'rest_framework_jwt',
23 'debug_toolbar',
24 'corsheaders',
25 'raven.contrib.django.raven_compat',
26 'algoliasearch_django',
27 'django_celery_results',
28 'django_celery_beat',
29 'storages',
30 'django_filters',
31 'core',
32 'documents.apps.DocumentsConfig',
33 'drivers.apps.DriversConfig',
34 'invoice_generation.apps.InvoiceGenerationConfig',
35 'maintenance',
36 'payments.apps.PaymentConfig',
37 'rentals.apps.RentalsConfig',
38 'reports.apps.ReportsConfig',
39 'tickets',
40 'vehicles.apps.VehiclesConfig',
41 'onboarding',
42 'health_check',
43 'health_check.db',
44 'health_check.contrib.celery',
45 'health_check.contrib.s3boto3_storage']
46Installed Middleware:
47['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
48 'raven.contrib.django.middleware.SentryMiddleware',
49 'django.middleware.security.SecurityMiddleware',
50 'whitenoise.middleware.WhiteNoiseMiddleware',
51 'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware',
52 'django.middleware.locale.LocaleMiddleware',
53 'corsheaders.middleware.CorsMiddleware',
54 'debug_toolbar.middleware.DebugToolbarMiddleware',
55 'django.contrib.sessions.middleware.SessionMiddleware',
56 'django.middleware.common.CommonMiddleware',
57 'django.middleware.csrf.CsrfViewMiddleware',
58 'django.contrib.auth.middleware.AuthenticationMiddleware',
59 'django.contrib.messages.middleware.MessageMiddleware',
60 'django.middleware.clickjacking.XFrameOptionsMiddleware']
61
62
63Traceback:
64
65File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
66 35. response = get_response(request)
67
68File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
69 128. response = self.process_exception_by_middleware(e, request)
70
71File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
72 126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
73
74File "/app/.heroku/python/lib/python3.6/site-packages/newrelic/hooks/framework_django.py" in wrapper
75 544. return wrapped(*args, **kwargs)
76
77File "/app/.heroku/python/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
78 54. return view_func(*args, **kwargs)
79
80File "/app/.heroku/python/lib/python3.6/site-packages/django/views/generic/base.py" in view
81 69. return self.dispatch(request, *args, **kwargs)
82
83File "/app/.heroku/python/lib/python3.6/site-packages/newrelic/hooks/component_djangorestframework.py" in _nr_wrapper_APIView_dispatch_
84 46. return wrapped(*args, **kwargs)
85
86File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
87 483. response = self.handle_exception(exc)
88
89File "/app/.heroku/python/lib/python3.6/site-packages/newrelic/hooks/component_djangorestframework.py" in _handle_exception_wrapper
90 53. return wrapped(*args, **kwargs)
91
92File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
93 443. self.raise_uncaught_exception(exc)
94
95File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
96 480. response = handler(request, *args, **kwargs)
97
98File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/generics.py" in patch
99 231. return self.partial_update(request, *args, **kwargs)
100
101File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/mixins.py" in partial_update
102 84. return self.update(request, *args, **kwargs)
103
104File "/app/drivers/views.py" in update
105 498. serializer = self.get_serializer(instance, data=request.data, partial=partial)
106
107File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/generics.py" in get_serializer
108 110. serializer_class = self.get_serializer_class()
109
110File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/generics.py" in get_serializer_class
111 127. % self.__class__.__name__
112
113Exception Type: AssertionError at /api/drivers/15/cards/30/
114Exception Value: 'DriverCardUpdate' should either include a `serializer_class` attribute, or override the `get_serializer_class()` method.
115Request information:
116USER: matej
117
118GET: No GET data
119
120POST: No POST data
121
122FILES: No FILES data
123
124COOKIES: No cookie data
125
126META:
127CONTENT_LENGTH = '16'
128CONTENT_TYPE = 'application/json'
129HTTP_ACCEPT = 'application/json'
130HTTP_ACCEPT_ENCODING = 'br, gzip, deflate'
131HTTP_ACCEPT_LANGUAGE = 'en-us'
132HTTP_AUTHORIZATION = 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo5LCJ1c2VybmFtZSI6Im1hdGVqIiwiZXhwIjoxNTQ0Njk5NDYxLCJlbWFpbCI6IiIsIm9yaWdfaWF0IjoxNTQ0NjEzMDYxLCJpc19zdGFmZiI6dHJ1ZSwiaXNfc3VwZXJ1c2VyIjp0cnVlLCJpc19tYWludGVuYW5jZSI6ZmFsc2V9.uL34wBr313YpOJ5jfkzdTsR13qsxKHYC0TEJpv5K30o'
133HTTP_CONNECTION = 'close'
134HTTP_CONNECT_TIME = '0'
135HTTP_HOST = 'ops4-backend-production.herokuapp.com'
136HTTP_ORIGIN = 'http://localhost:3000'
137HTTP_REFERER = 'http://localhost:3000/customers/15'
138HTTP_TOTAL_ROUTE_TIME = '0'
139HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.1 Safari/605.1.15'
140HTTP_VIA = '1.1 vegur'
141HTTP_X_FORWARDED_FOR = '89.143.111.195'
142HTTP_X_FORWARDED_PORT = '443'
143HTTP_X_FORWARDED_PROTO = 'https'
144HTTP_X_REQUEST_ID = 'b448dbaa-c99d-4a75-916d-14fff967e14c'
145HTTP_X_REQUEST_START = '1544616548572'
146PATH_INFO = '/api/drivers/15/cards/30/'
147QUERY_STRING = ''
148RAW_URI = '/api/drivers/15/cards/30/'
149REMOTE_ADDR = '10.99.245.92'
150REMOTE_PORT = '25220'
151REQUEST_METHOD = 'PATCH'
152SCRIPT_NAME = ''
153SERVER_NAME = '0.0.0.0'
154SERVER_PORT = '31522'
155SERVER_PROTOCOL = 'HTTP/1.1'
156SERVER_SOFTWARE = 'gunicorn/19.8.1'
157gunicorn.socket = <socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.19.16.22', 31522), raddr=('10.99.245.92', 25220)>
158wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f2336186710>
159wsgi.file_wrapper = ''
160wsgi.input = <newrelic.api.web_transaction._WSGIInputWrapper object at 0x7f23354de2b0>
161wsgi.multiprocess = True
162wsgi.multithread = False
163wsgi.run_once = False
164wsgi.url_scheme = 'https'
165wsgi.version = '(1, 0)'
166
167Settings:
168Using settings module ops4_backend.settings
169ABSOLUTE_URL_OVERRIDES = {}
170ADMINS = []
171ALGOLIA = {'APPLICATION_ID': 'D14QZ5WZH6', 'API_KEY': '********************', 'SEARCH_API_KEY': '********************', 'INDEX_PREFIX': 'ops4', 'INDEX_SUFFIX': 'backend_prod', 'AUTO_INDEXING': False}
172ALLOWED_HOSTS = ['127.0.0.1', 'localhost:3000', 'localhost:8000', 'localhost', 'ops4-backend-production.herokuapp.com', 'ops4-backend-staging.herokuapp.com', 'ops4-backend-onboard-testing.herokuapp.com', 'ops4-dashboard.herokuapp.com', 'sally-short-url.herokuapp.com']
173API_TOKENS = '********************'
174APPEND_SLASH = True
175AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
176AUTH_PASSWORD_VALIDATORS = '********************'
177AUTH_USER_MODEL = 'authentication.SallyUser'
178AWS_ACCESS_KEY_ID = '********************'
179AWS_S3_CUSTOM_DOMAIN = None
180AWS_SECRET_ACCESS_KEY = '********************'
181AWS_STORAGE_BUCKET_NAME = 'ops4.5-prod-bucket'
182BACKGROUND_TASKS = {}
183BASE_DIR = '/app'
184CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://redis-19867.c15.us-east-1-4.ec2.cloud.redislabs.com:19867', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
185CACHE_MIDDLEWARE_ALIAS = 'default'
186CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
187CACHE_MIDDLEWARE_SECONDS = 600
188CELERY_ACCEPT_CONTENT = ['application/json']
189CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
190CELERY_BROKER_URL = 'amqp://dycrvwfc:WGHHmx0dy6c8WgG4TQLr5PamTkpYh-_o@emu.rmq.cloudamqp.com/dycrvwfc'
191CELERY_ENABLE_UTC = True
192CELERY_RESULT_BACKEND = 'django-db'
193CELERY_RESULT_SERIALIZER = 'json'
194CELERY_TASK_SERIALIZER = 'json'
195CELERY_TIMEZONE = 'UTC'
196CORS_ALLOW_HEADERS = "('accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'apikey', 'http_apikey', 'x-cards-apikey')"
197CORS_ORIGIN_ALLOW_ALL = True
198CSRF_COOKIE_AGE = 31449600
199CSRF_COOKIE_DOMAIN = None
200CSRF_COOKIE_HTTPONLY = False
201CSRF_COOKIE_NAME = 'csrftoken'
202CSRF_COOKIE_PATH = '/'
203CSRF_COOKIE_SECURE = False
204CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
205CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
206CSRF_TRUSTED_ORIGINS = []
207CSRF_USE_SESSIONS = False
208DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'd643flmm8uv7bp', 'USER': 'u5177vmcbalttj', 'PASSWORD': '********************', 'HOST': 'ec2-18-235-9-105.compute-1.amazonaws.com', 'PORT': 5432, 'CONN_MAX_AGE': 500, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
209DATABASE_ROUTERS = []
210DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
211DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
212DATETIME_FORMAT = 'N j, Y, P'
213DATETIME_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']
214DATE_FORMAT = 'N j, Y'
215DATE_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']
216DEBUG = True
217DEBUG_PROPAGATE_EXCEPTIONS = False
218DECIMAL_SEPARATOR = '.'
219DEFAULT_CHARSET = 'utf-8'
220DEFAULT_CONTENT_TYPE = 'text/html'
221DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
222DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
223DEFAULT_FROM_EMAIL = 'join@drivesally.com'
224DEFAULT_INDEX_TABLESPACE = ''
225DEFAULT_TABLESPACE = ''
226DISALLOWED_USER_AGENTS = []
227DROPBOX = 'vlXgFTXkSUAAAAAAAAAAGIJAdEQBPLJJch2Arp8FwtVSxmUgMXyi1kfo3rGDKiQT'
228EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
229EMAIL_HOST = 'smtp.sendgrid.net'
230EMAIL_HOST_PASSWORD = '********************'
231EMAIL_HOST_USER = 'app91105113@heroku.com'
232EMAIL_PORT = 587
233EMAIL_SSL_CERTFILE = None
234EMAIL_SSL_KEYFILE = '********************'
235EMAIL_SUBJECT_PREFIX = '[Django] '
236EMAIL_TIMEOUT = None
237EMAIL_USE_LOCALTIME = False
238EMAIL_USE_SSL = False
239EMAIL_USE_TLS = True
240FILE_CHARSET = 'utf-8'
241FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
242FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
243FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
244FILE_UPLOAD_PERMISSIONS = None
245FILE_UPLOAD_TEMP_DIR = None
246FIRST_DAY_OF_WEEK = 0
247FIXTURE_DIRS = []
248FORCE_SCRIPT_NAME = None
249FORMAT_MODULE_PATH = None
250FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
251GOOGLE = {'SERVICE_ACCOUNT_FILENAME': '', 'SPREADSHEET_ID': ''}
252IGNORABLE_404_URLS = []
253INSTALLED_APPS = ['authentication.apps.AuthenticationConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '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', 'tickets', 'vehicles.apps.VehiclesConfig', 'onboarding', 'health_check', 'health_check.db', 'health_check.contrib.celery', 'health_check.contrib.s3boto3_storage']
254INTERNAL_IPS = ['localhost', '127.0.0.1', 'ops4-backend-production.herokuapp.com']
255JWT_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)}
256KUSTOMER = {'API_KEY': '********************'}
257LANGUAGES = [('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'), ('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')]
258LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
259LANGUAGE_CODE = 'en-us'
260LANGUAGE_COOKIE_AGE = None
261LANGUAGE_COOKIE_DOMAIN = None
262LANGUAGE_COOKIE_NAME = 'django_language'
263LANGUAGE_COOKIE_PATH = '/'
264LOCALE_PATHS = []
265LOGGING = {'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'}}, '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}}}
266LOGGING_CONFIG = 'logging.config.dictConfig'
267LOGIN_REDIRECT_URL = '/accounts/profile/'
268LOGIN_URL = '/accounts/login/'
269LOGOUT_REDIRECT_URL = None
270MANAGERS = []
271MEDIA_ROOT = ''
272MEDIA_URL = ''
273MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
274MIDDLEWARE = ['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware', 'raven.contrib.django.middleware.SentryMiddleware', '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']
275MIGRATION_MODULES = {}
276MONTH_DAY_FORMAT = 'F j'
277NUMBER_GROUPING = 0
278OLD_PASSWORD_FIELD_ENABLED = '********************'
279PASSWORD_HASHERS = '********************'
280PASSWORD_RESET_TIMEOUT_DAYS = '********************'
281PREPEND_WWW = False
282RAVEN_CONFIG = {'dsn': 'https://1d34d40879194ea59cd7cf3deb52b564:78daea2bcab145448d99060fc9be794c@sentry.io/1200442'}
283REST_AUTH_SERIALIZERS = {'PASSWORD_RESET_SERIALIZER': '********************'}
284REST_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')}
285REST_USE_JWT = True
286ROOT_URLCONF = 'ops4_backend.urls'
287SECRET_KEY = '********************'
288SECURE_BROWSER_XSS_FILTER = False
289SECURE_CONTENT_TYPE_NOSNIFF = False
290SECURE_HSTS_INCLUDE_SUBDOMAINS = False
291SECURE_HSTS_PRELOAD = False
292SECURE_HSTS_SECONDS = 0
293SECURE_PROXY_SSL_HEADER = None
294SECURE_REDIRECT_EXEMPT = []
295SECURE_SSL_HOST = None
296SECURE_SSL_REDIRECT = True
297SERVER_EMAIL = 'root@localhost'
298SESSION_CACHE_ALIAS = 'default'
299SESSION_COOKIE_AGE = 1209600
300SESSION_COOKIE_DOMAIN = None
301SESSION_COOKIE_HTTPONLY = True
302SESSION_COOKIE_NAME = 'sessionid'
303SESSION_COOKIE_PATH = '/'
304SESSION_COOKIE_SECURE = False
305SESSION_ENGINE = 'django.contrib.sessions.backends.db'
306SESSION_EXPIRE_AT_BROWSER_CLOSE = False
307SESSION_FILE_PATH = None
308SESSION_SAVE_EVERY_REQUEST = False
309SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
310SETTINGS_MODULE = 'ops4_backend.settings'
311SHORT_DATETIME_FORMAT = 'm/d/Y P'
312SHORT_DATE_FORMAT = 'm/d/Y'
313SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
314SILENCED_SYSTEM_CHECKS = []
315SLACK = {'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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'}
316STATICFILES_DIRS = ['/app/static_folder/']
317STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
318STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
319STATIC_ROOT = '/app/static_media/'
320STATIC_URL = '/static/'
321STRIPE = {'API_KEY': '********************'}
322TEMPLATES = [{'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']}}]
323TEST_NON_SERIALIZED_APPS = []
324TEST_RUNNER = 'django.test.runner.DiscoverRunner'
325THOUSAND_SEPARATOR = ','
326TIME_FORMAT = 'P'
327TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
328TIME_ZONE = 'UTC'
329TWILIO = {'ACCOUNT_SID': 'ACfafde30f98c3aedde225c019bf976544', 'ACCOUNT_TOKEN': '********************', 'FROM_NUMBER': '+16468872559', 'MESSAGING_SERVICE_SID': 'MG91ba4f96828f14f485ea482850668a1a'}
330USE_ETAGS = False
331USE_I18N = True
332USE_L10N = True
333USE_THOUSAND_SEPARATOR = False
334USE_TZ = True
335USE_X_FORWARDED_HOST = False
336USE_X_FORWARDED_PORT = False
337WSGI_APPLICATION = 'ops4_backend.wsgi.application'
338X_FRAME_OPTIONS = 'SAMEORIGIN'
339YEAR_MONTH_FORMAT = 'F Y'
340
341
342You're seeing this error because you have DEBUG = True in your
343Django settings file. Change that to False, and Django will
344display a standard page generated by the handler for this status code.