· 6 years ago · May 29, 2019, 03:32 PM
1TypeError at /api/campaign/1/
2list indices must be integers or slices, not str
3
4Request Method: PATCH
5Request URL: http://10.200.0.115:8012/api/campaign/1/
6Django Version: 2.1.5
7Python Executable: /usr/local/bin/python
8Python Version: 3.7.2
9Python Path: ['/app', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
10Server time: Wed, 29 May 2019 15:27:38 +0000
11Installed Applications:
12['django.contrib.admin',
13 'django.contrib.auth',
14 'django.contrib.contenttypes',
15 'django.contrib.sessions',
16 'django.contrib.messages',
17 'django.contrib.staticfiles',
18 'django_extensions',
19 'rest_framework',
20 'django_cas_ng',
21 'solo',
22 'raven.contrib.django.raven_compat',
23 'corsheaders',
24 'drf_yasg',
25 'frontapp.apps.FrontAppConfig',
26 'app.users.apps.UsersAppConfig',
27 'app.advertiser.apps.AdvertiserConfig']
28Installed Middleware:
29['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
30 'raven.contrib.django.middleware.SentryMiddleware',
31 'django.middleware.security.SecurityMiddleware',
32 'django.contrib.sessions.middleware.SessionMiddleware',
33 'corsheaders.middleware.CorsMiddleware',
34 'django.middleware.common.CommonMiddleware',
35 'django.middleware.csrf.CsrfViewMiddleware',
36 'django.contrib.auth.middleware.AuthenticationMiddleware',
37 'app.advertiser.middleware.TestUserMiddleware',
38 'django.contrib.messages.middleware.MessageMiddleware',
39 'django.middleware.clickjacking.XFrameOptionsMiddleware',
40 'django_cas_ng.middleware.CASMiddleware']
41
42
43Traceback:
44
45File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
46 34. response = get_response(request)
47
48File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
49 126. response = self.process_exception_by_middleware(e, request)
50
51File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
52 124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
53
54File "/usr/local/lib/python3.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
55 54. return view_func(*args, **kwargs)
56
57File "/usr/local/lib/python3.7/site-packages/rest_framework/viewsets.py" in view
58 116. return self.dispatch(request, *args, **kwargs)
59
60File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in dispatch
61 495. response = self.handle_exception(exc)
62
63File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in handle_exception
64 455. self.raise_uncaught_exception(exc)
65
66File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in dispatch
67 492. response = handler(request, *args, **kwargs)
68
69File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py" in partial_update
70 84. return self.update(request, *args, **kwargs)
71
72File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py" in update
73 70. self.perform_update(serializer)
74
75File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py" in perform_update
76 80. serializer.save()
77
78File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in save
79 209. self.instance = self.update(self.instance, validated_data)
80
81File "/app/app/advertiser/serializers/campaign.py" in update
82 279. time_targeting_obj.time_grid = time_targeting['time_grid']
83
84Exception Type: TypeError at /api/campaign/1/
85Exception Value: list indices must be integers or slices, not str
86Request information:
87USER: AnonymousUser
88
89GET: No GET data
90
91POST: No POST data
92
93FILES: No FILES data
94
95COOKIES: No cookie data
96
97META:
98ALLOW_TEST_USER = 'True'
99CONTENT_LENGTH = '41136'
100CONTENT_TYPE = 'application/json'
101DATABASE_URL = 'postgresql://advertiser:password@172.28.1.12:5432/advertiser'
102DJANGO_SETTINGS_MODULE = 'config.settings.docker'
103GATEWAY_INTERFACE = 'CGI/1.1'
104GPG_KEY = '0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D'
105HOME = '/root'
106HOSTNAME = '26280cf74e08'
107HTTP_ACCEPT = 'application/json, text/plain, */*'
108HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
109HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
110HTTP_CONNECTION = 'close'
111HTTP_HOST = '10.200.0.115:8012'
112HTTP_ORIGIN = 'http://localhost:3000'
113HTTP_REFERER = 'http://localhost:3000/app/campaign/1/edit'
114HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'
115HTTP_X_CSRFTOKEN = 'undefined'
116HTTP_X_FORWARDED_FOR = '89.207.93.103'
117HTTP_X_FORWARDED_HOST = 'stage.ubex.io'
118HTTP_X_FORWARDED_SERVER = 'stage.ubex.io'
119IPYTHONDIR = '/app/.ipython'
120LANG = 'C.UTF-8'
121PATH = '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
122PATH_INFO = '/api/campaign/1/'
123POSTGRES_DB = 'advertiser'
124POSTGRES_HOST = '172.28.1.12'
125POSTGRES_PASSWORD = 'password'
126POSTGRES_PORT = '5432'
127POSTGRES_USER = 'advertiser'
128PWD = '/app'
129PYTHONUNBUFFERED = '1'
130PYTHON_PIP_VERSION = '18.1'
131PYTHON_VERSION = '3.7.2'
132QUERY_STRING = ''
133REMOTE_ADDR = '10.200.0.1'
134REMOTE_HOST = ''
135REQUEST_METHOD = 'PATCH'
136RUN_MAIN = 'true'
137SCRIPT_NAME = ''
138SERVER_NAME = '26280cf74e08'
139SERVER_PORT = '80'
140SERVER_PROTOCOL = 'HTTP/1.0'
141SERVER_SOFTWARE = 'WSGIServer/0.2'
142SHLVL = '2'
143TZ = 'UTC'
144USE_DOCKER = 'yes'
145wsgi.errors = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
146wsgi.file_wrapper = ''
147wsgi.input = <django.core.handlers.wsgi.LimitedStream object at 0x7f17f8456358>
148wsgi.multiprocess = False
149wsgi.multithread = True
150wsgi.run_once = False
151wsgi.url_scheme = 'http'
152wsgi.version = '(1, 0)'
153
154Settings:
155Using settings module config.settings.docker
156ABSOLUTE_URL_OVERRIDES = {}
157ADMINS = []
158ALLOWED_HOSTS = ['*']
159ALLOW_TEST_USER = True
160APPEND_SLASH = True
161AUTHENTICATION_BACKENDS = "('django.contrib.auth.backends.ModelBackend', 'django_cas_ng.backends.CASBackend')"
162AUTH_PASSWORD_VALIDATORS = '********************'
163AUTH_USER_MODEL = 'users.User'
164BASE_DIR = '/app'
165CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://172.28.1.13:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
166CACHE_MIDDLEWARE_ALIAS = 'default'
167CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
168CACHE_MIDDLEWARE_SECONDS = 600
169CAS_ADMIN_PREFIX = None
170CAS_APPLY_ATTRIBUTES_TO_USER = False
171CAS_AUTO_CREATE_USERS = True
172CAS_CREATE_USER = True
173CAS_CREATE_USER_WITH_ID = False
174CAS_EXTRA_LOGIN_PARAMS = None
175CAS_FORCE_CHANGE_USERNAME_CASE = None
176CAS_FORCE_PROTOCOL_PREFIX = 'http'
177CAS_IGNORE_REFERER = False
178CAS_LOCAL_NAME_FIELD = None
179CAS_LOGGED_MSG = 'You are logged in as %s.'
180CAS_LOGIN_MSG = 'Login succeeded. Welcome, %s.'
181CAS_LOGIN_URL_NAME = 'cas_ng_login'
182CAS_LOGOUT_COMPLETELY = True
183CAS_PROXY_CALLBACK = None
184CAS_REDIRECT_URL = '/'
185CAS_RENAME_ATTRIBUTES = {}
186CAS_RENEW = False
187CAS_RETRY_LOGIN = False
188CAS_SERVER_URL = 'http://172.28.1.5'
189CAS_STORE_NEXT = False
190CAS_USERNAME_ATTRIBUTE = 'uid'
191CAS_VERIFY_SSL_CERTIFICATE = True
192CAS_VERSION = '3'
193CORS_ORIGIN_ALLOW_ALL = True
194CSRF_COOKIE_AGE = 31449600
195CSRF_COOKIE_DOMAIN = None
196CSRF_COOKIE_HTTPONLY = False
197CSRF_COOKIE_NAME = 'csrftoken'
198CSRF_COOKIE_PATH = '/'
199CSRF_COOKIE_SAMESITE = 'Lax'
200CSRF_COOKIE_SECURE = False
201CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
202CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
203CSRF_TRUSTED_ORIGINS = []
204CSRF_USE_SESSIONS = False
205DATABASES = {'default': {'NAME': 'advertiser', 'USER': 'advertiser', 'PASSWORD': '********************', 'HOST': '172.28.1.12', 'PORT': 5432, 'ENGINE': 'django.db.backends.postgresql', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
206DATABASE_ROUTERS = []
207DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
208DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
209DATETIME_FORMAT = 'N j, Y, P'
210DATETIME_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']
211DATE_FORMAT = 'N j, Y'
212DATE_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']
213DEBUG = True
214DEBUG_PROPAGATE_EXCEPTIONS = False
215DECIMAL_SEPARATOR = '.'
216DEFAULT_CHARSET = 'utf-8'
217DEFAULT_CONTENT_TYPE = 'text/html'
218DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
219DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
220DEFAULT_FROM_EMAIL = 'webmaster@localhost'
221DEFAULT_INDEX_TABLESPACE = ''
222DEFAULT_TABLESPACE = ''
223DISALLOWED_USER_AGENTS = []
224DJANGO_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles']
225EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
226EMAIL_HOST = 'localhost'
227EMAIL_HOST_PASSWORD = '********************'
228EMAIL_HOST_USER = ''
229EMAIL_PORT = 25
230EMAIL_SSL_CERTFILE = None
231EMAIL_SSL_KEYFILE = '********************'
232EMAIL_SUBJECT_PREFIX = '[Django] '
233EMAIL_TIMEOUT = None
234EMAIL_USE_LOCALTIME = False
235EMAIL_USE_SSL = False
236EMAIL_USE_TLS = False
237FILE_CHARSET = 'utf-8'
238FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
239FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
240FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
241FILE_UPLOAD_PERMISSIONS = None
242FILE_UPLOAD_TEMP_DIR = None
243FIRST_DAY_OF_WEEK = 0
244FIXTURE_DIRS = []
245FORCE_SCRIPT_NAME = None
246FORMAT_MODULE_PATH = None
247FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
248IGNORABLE_404_URLS = []
249INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', 'rest_framework', 'django_cas_ng', 'solo', 'raven.contrib.django.raven_compat', 'corsheaders', 'drf_yasg', 'frontapp.apps.FrontAppConfig', 'app.users.apps.UsersAppConfig', 'app.advertiser.apps.AdvertiserConfig']
250INTERNAL_IPS = []
251LANGUAGES = [('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')]
252LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
253LANGUAGE_CODE = 'en-us'
254LANGUAGE_COOKIE_AGE = None
255LANGUAGE_COOKIE_DOMAIN = None
256LANGUAGE_COOKIE_NAME = 'django_language'
257LANGUAGE_COOKIE_PATH = '/'
258LOCALE_PATHS = []
259LOCAL_APPS = ['frontapp.apps.FrontAppConfig', 'app.users.apps.UsersAppConfig', 'app.advertiser.apps.AdvertiserConfig']
260LOGGING = {'version': 1, 'disable_existing_loggers': False, 'formatters': {'verbose': {'class': 'logging.Formatter', 'format': '[%(asctime)s] p%(process)s {%(pathname)s:%(lineno)s} %(levelname)s - %(message)s'}, 'simple': {'format': '{levelname} {message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}}, 'loggers': {'django': {'handlers': ['console'], 'level': 'WARNING', 'propagate': True}, 'app': {'handlers': ['console'], 'level': 'DEBUG', 'propogate': False}}}
261LOGGING_CONFIG = 'logging.config.dictConfig'
262LOGIN_REDIRECT_URL = 'users:redirect'
263LOGIN_URL = '/accounts/login/'
264LOGOUT_REDIRECT_URL = None
265MANAGERS = []
266MASTER_DATA = {'LOCATION': 'http://172.28.1.3'}
267MEDIA_ROOT = '/app/media'
268MEDIA_URL = '/media/'
269MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
270MIDDLEWARE = ['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware', 'raven.contrib.django.middleware.SentryMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'app.advertiser.middleware.TestUserMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_cas_ng.middleware.CASMiddleware']
271MIGRATION_MODULES = {}
272MONTH_DAY_FORMAT = 'F j'
273NUMBER_GROUPING = 0
274PASSPORT_TOKEN = '********************'
275PASSPORT_URL = '********************'
276PASSWORD_HASHERS = '********************'
277PASSWORD_RESET_TIMEOUT_DAYS = '********************'
278PREPEND_WWW = False
279REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication'), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny',)}
280ROOT_URLCONF = 'config.urls'
281SECRET_KEY = '********************'
282SECURE_BROWSER_XSS_FILTER = False
283SECURE_CONTENT_TYPE_NOSNIFF = False
284SECURE_HSTS_INCLUDE_SUBDOMAINS = False
285SECURE_HSTS_PRELOAD = False
286SECURE_HSTS_SECONDS = 0
287SECURE_PROXY_SSL_HEADER = None
288SECURE_REDIRECT_EXEMPT = []
289SECURE_SSL_HOST = None
290SECURE_SSL_REDIRECT = False
291SERVER_EMAIL = 'root@localhost'
292SESSION_CACHE_ALIAS = 'default'
293SESSION_COOKIE_AGE = 1209600
294SESSION_COOKIE_DOMAIN = None
295SESSION_COOKIE_HTTPONLY = True
296SESSION_COOKIE_NAME = 'sessionid'
297SESSION_COOKIE_PATH = '/'
298SESSION_COOKIE_SAMESITE = 'Lax'
299SESSION_COOKIE_SECURE = False
300SESSION_ENGINE = 'django.contrib.sessions.backends.db'
301SESSION_EXPIRE_AT_BROWSER_CLOSE = False
302SESSION_FILE_PATH = None
303SESSION_SAVE_EVERY_REQUEST = False
304SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
305SETTINGS_MODULE = 'config.settings.docker'
306SHORT_DATETIME_FORMAT = 'm/d/Y P'
307SHORT_DATE_FORMAT = 'm/d/Y'
308SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
309SILENCED_SYSTEM_CHECKS = []
310STATICFILES_DIRS = []
311STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
312STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
313STATIC_ROOT = '/app/static'
314STATIC_URL = '/static/'
315TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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']}}]
316TEST_NON_SERIALIZED_APPS = []
317TEST_RUNNER = 'django.test.runner.DiscoverRunner'
318THIRD_PARTY_APPS = ['django_extensions', 'rest_framework', 'django_cas_ng', 'solo', 'raven.contrib.django.raven_compat', 'corsheaders', 'drf_yasg']
319THOUSAND_SEPARATOR = ','
320TIME_FORMAT = 'P'
321TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
322TIME_ZONE = 'UTC'
323USE_I18N = True
324USE_L10N = True
325USE_MASTERDATA_CACHE = True
326USE_THOUSAND_SEPARATOR = False
327USE_TZ = True
328USE_X_FORWARDED_HOST = False
329USE_X_FORWARDED_PORT = False
330WSGI_APPLICATION = 'config.wsgi.application'
331X_FRAME_OPTIONS = 'SAMEORIGIN'
332YEAR_MONTH_FORMAT = 'F Y'
333
334
335You're seeing this error because you have DEBUG = True in your
336Django settings file. Change that to False, and Django will
337display a standard page generated by the handler for this status code.