· 9 years ago · Mar 19, 2017, 07:18 AM
1MAKE ORDER IndexError at /order/
2list index out of range
3
4Request Method: POST
5Request URL: https://forkit-api.herokuapp.com/order/
6Django Version: 1.10
7Python Executable: /app/.heroku/python/bin/python
8Python Version: 3.5.2
9Python Path: ['/app', '/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python35.zip', '/app/.heroku/python/lib/python3.5', '/app/.heroku/python/lib/python3.5/p
10lat-linux', '/app/.heroku/python/lib/python3.5/lib-dynload', '/app/.heroku/python/lib/python3.5/site-packages', '/app/.heroku/python/lib/python3.5/site-packages/setuptool
11s-32.1.0-py3.5.egg', '/app/.heroku/python/lib/python3.5/site-packages/pip-9.0.1-py3.5.egg']
12Server time: Sun, 19 Mar 2017 07:15:20 +0000
13Installed Applications:
14['django.contrib.admin',
15 'django.contrib.auth',
16 'django.contrib.contenttypes',
17 'django.contrib.sessions',
18 'django.contrib.messages',
19 'django.contrib.staticfiles',
20 'api_tesco.api',
21 'rest_framework',
22 'oauth2_provider']
23Installed Middleware:
24['django.middleware.security.SecurityMiddleware',
25 'django.contrib.sessions.middleware.SessionMiddleware',
26 'django.middleware.common.CommonMiddleware',
27 'django.middleware.csrf.CsrfViewMiddleware',
28 'django.contrib.auth.middleware.AuthenticationMiddleware',
29 'django.contrib.messages.middleware.MessageMiddleware',
30 'django.middleware.clickjacking.XFrameOptionsMiddleware']
31
32
33Traceback:
34
35File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
36 39. response = get_response(request)
37
38File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
39 187. response = self.process_exception_by_middleware(e, request)
40
41File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
42 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
43
44File "/app/.heroku/python/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
45 58. return view_func(*args, **kwargs)
46
47File "/app/.heroku/python/lib/python3.5/site-packages/django/views/generic/base.py" in view
48 68. return self.dispatch(request, *args, **kwargs)
49
50File "/app/.heroku/python/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
51 474. response = self.handle_exception(exc)
52
53File "/app/.heroku/python/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
54 434. self.raise_uncaught_exception(exc)
55
56File "/app/.heroku/python/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
57 471. response = handler(request, *args, **kwargs)
58
59File "/app/api_tesco/api/views.py" in post
60 27. order_info = order.make_order(request.data['user'], request.data['order_list'])
61
62File "/app/api_tesco/api/workers/order.py" in make_order
63 27. csrf = re.findall('(?<=data-csrf-token=").*?(?=")', r.text)[0]
64
65Exception Type: IndexError at /order/
66Exception Value: list index out of range
67Request information:
68USER: test
69
70GET: No GET data
71
72POST: No POST data
73
74FILES: No FILES data
75
76COOKIES: No cookie data
77
78META:
79CONTENT_LENGTH = '201'
80CONTENT_TYPE = 'application/json'
81HTTP_ACCEPT = 'application/json'
82HTTP_AUTHORIZATION = 'Bearer UNHlPaFnminAAppcrJUnTdCG4rfAwJ'
83HTTP_CONNECTION = 'close'
84HTTP_CONNECT_TIME = '0'
85HTTP_HOST = 'forkit-api.herokuapp.com'
86HTTP_TOTAL_ROUTE_TIME = '0'
87HTTP_VIA = '1.1 vegur'
88HTTP_X_FORWARDED_FOR = '95.160.152.81'
89HTTP_X_FORWARDED_PORT = '443'
90HTTP_X_FORWARDED_PROTO = 'https'
91HTTP_X_REQUEST_ID = 'f18e62fc-cde8-4a6c-9c7a-53cc6e3c400f'
92HTTP_X_REQUEST_START = '1489907720068'
93PATH_INFO = '/order/'
94QUERY_STRING = ''
95RAW_URI = '/order/'
96REMOTE_ADDR = '10.142.142.206'
97REMOTE_PORT = '41400'
98REQUEST_METHOD = 'POST'
99SCRIPT_NAME = ''
100SERVER_NAME = '0.0.0.0'
101SERVER_PORT = '24437'
102SERVER_PROTOCOL = 'HTTP/1.1'
103SERVER_SOFTWARE = 'gunicorn/19.5.0'
104gunicorn.socket = <socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.18.103.46', 24437), raddr=('10.142.142.206', 41400
105)>
106wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f5cf7165b38>
107wsgi.file_wrapper = ''
108wsgi.input = <gunicorn.http.body.Body object at 0x7f5cf7165d30>
109wsgi.multiprocess = True
110wsgi.multithread = False
111wsgi.run_once = False
112wsgi.url_scheme = 'https'
113wsgi.version =
114
115Settings:
116Using settings module api_tesco.settings
117ABSOLUTE_URL_OVERRIDES = {}
118ADMINS = []
119ALLOWED_HOSTS = ['*']
120APPEND_SLASH = True
121AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
122AUTH_PASSWORD_VALIDATORS = '********************'
123AUTH_USER_MODEL = 'auth.User'
124BASE_DIR = '/app'
125CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
126CACHE_MIDDLEWARE_ALIAS = 'default'
127CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
128CACHE_MIDDLEWARE_SECONDS = 600
129CSRF_COOKIE_AGE = 31449600
130CSRF_COOKIE_DOMAIN = None
131CSRF_COOKIE_HTTPONLY = False
132CSRF_COOKIE_NAME = 'csrftoken'
133CSRF_COOKIE_PATH = '/'
134CSRF_COOKIE_SECURE = False
135CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
136CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
137CSRF_TRUSTED_ORIGINS = []
138DATABASES = {'default': {'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PASSWORD': '********************', 'HOST': 'ec2-54-243-204-221.compute-1.amazonaws.com', 'USER': 'ydktmldh
139jralfo', 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}, 'AUTOCOMMIT': True, 'NAME': 'd8dp
140bh2c4fukr9', 'OPTIONS': {}, 'ATOMIC_REQUESTS': False, 'PORT': 5432}}
141DATABASE_ROUTERS = []
142DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
143DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
144DATETIME_FORMAT = 'N j, Y, P'
145DATETIME_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
146/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
147DATE_FORMAT = 'N j, Y'
148DATE_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']
149DEBUG = True
150DEBUG_PROPAGATE_EXCEPTIONS = False
151DECIMAL_SEPARATOR = '.'
152DEFAULT_CHARSET = 'utf-8'
153DEFAULT_CONTENT_TYPE = 'text/html'
154DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
155DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
156DEFAULT_FROM_EMAIL = 'webmaster@localhost'
157DEFAULT_INDEX_TABLESPACE = ''
158DEFAULT_TABLESPACE = ''
159DISALLOWED_USER_AGENTS = []
160EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
161EMAIL_HOST = 'localhost'
162EMAIL_HOST_PASSWORD = '********************'
163EMAIL_HOST_USER = ''
164EMAIL_PORT = 25
165EMAIL_SSL_CERTFILE = None
166EMAIL_SSL_KEYFILE = '********************'
167EMAIL_SUBJECT_PREFIX = '[Django] '
168EMAIL_TIMEOUT = None
169EMAIL_USE_SSL = False
170EMAIL_USE_TLS = False
171FILE_CHARSET = 'utf-8'
172FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
173FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
174FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
175FILE_UPLOAD_PERMISSIONS = None
176FILE_UPLOAD_TEMP_DIR = None
177FIRST_DAY_OF_WEEK = 0
178FIXTURE_DIRS = []
179FORCE_SCRIPT_NAME = None
180FORMAT_MODULE_PATH = None
181IGNORABLE_404_URLS = []
182INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.stat
183icfiles', 'api_tesco.api', 'rest_framework', 'oauth2_provider']
184INTERNAL_IPS = []
185LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Bret
186on'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'Engli
187sh'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanis
188h'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finn
189ish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb',
190 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Ge
191orgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'),
192('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk')
193, ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak')
194, ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th'
195, 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant'
196, 'Traditional Chinese')]
197LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
198LANGUAGE_CODE = 'en-us'
199LANGUAGE_COOKIE_AGE = None
200LANGUAGE_COOKIE_DOMAIN = None
201LANGUAGE_COOKIE_NAME = 'django_language'
202LANGUAGE_COOKIE_PATH = '/'
203LOCALE_PATHS = []
204LOGGING = {}
205LOGGING_CONFIG = 'logging.config.dictConfig'
206LOGIN_REDIRECT_URL = '/accounts/profile/'
207LOGIN_URL = '/accounts/login/'
208LOGOUT_REDIRECT_URL = None
209MANAGERS = []
210MEDIA_ROOT = ''
211MEDIA_URL = ''
212MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
213MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'djang
214o.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middlewa
215re.clickjacking.XFrameOptionsMiddleware']
216MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware']
217MIGRATION_MODULES = {}
218MONTH_DAY_FORMAT = 'F j'
219NUMBER_GROUPING = 0
220OAUTH2_PROVIDER = {'SCOPES': {'groups': 'Access to your groups', 'read': 'Read scope', 'write': 'Write scope'}}
221ON_HEROKU = '1'
222PASSWORD_HASHERS = '********************'
223PASSWORD_RESET_TIMEOUT_DAYS = '********************'
224PREPEND_WWW = False
225PROJECT_ROOT = '/app/api_tesco'
226REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('oauth2_provider.ext.rest_framework.OAuth2Authentication',), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissio
227ns.IsAuthenticated',)}
228ROOT_URLCONF = 'api_tesco.urls'
229SECRET_KEY = '********************'
230SECURE_BROWSER_XSS_FILTER = False
231SECURE_CONTENT_TYPE_NOSNIFF = False
232SECURE_HSTS_INCLUDE_SUBDOMAINS = False
233SECURE_HSTS_SECONDS = 0
234SECURE_PROXY_SSL_HEADER =
235SECURE_REDIRECT_EXEMPT = []
236SECURE_SSL_HOST = None
237SECURE_SSL_REDIRECT = False
238SERVER_EMAIL = 'root@localhost'
239SESSION_CACHE_ALIAS = 'default'
240SESSION_COOKIE_AGE = 1209600
241SESSION_COOKIE_DOMAIN = None
242SESSION_COOKIE_HTTPONLY = True
243SESSION_COOKIE_NAME = 'sessionid'
244SESSION_COOKIE_PATH = '/'
245SESSION_COOKIE_SECURE = False
246SESSION_ENGINE = 'django.contrib.sessions.backends.db'
247SESSION_EXPIRE_AT_BROWSER_CLOSE = False
248SESSION_FILE_PATH = None
249SESSION_SAVE_EVERY_REQUEST = False
250SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
251SETTINGS_MODULE = 'api_tesco.settings'
252SHORT_DATETIME_FORMAT = 'm/d/Y P'
253SHORT_DATE_FORMAT = 'm/d/Y'
254SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
255SILENCED_SYSTEM_CHECKS = []
256STATICFILES_DIRS = '/app/api_tesco/static'
257STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
258STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
259STATIC_ROOT = '/app/api_tesco/staticfiles'
260STATIC_URL = '/static/'
261TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.templat
262e.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}, 'APP_DIRS': True, 'DIRS': []}]
263TEST_NON_SERIALIZED_APPS = []
264TEST_RUNNER = 'django.test.runner.DiscoverRunner'
265THOUSAND_SEPARATOR = ','
266TIME_FORMAT = 'P'
267TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
268TIME_ZONE = 'UTC'
269USE_ETAGS = False
270USE_I18N = True
271USE_L10N = True
272USE_THOUSAND_SEPARATOR = False
273USE_TZ = True
274USE_X_FORWARDED_HOST = False
275USE_X_FORWARDED_PORT = False
276WSGI_APPLICATION = 'api_tesco.wsgi.application'
277X_FRAME_OPTIONS = 'SAMEORIGIN'
278YEAR_MONTH_FORMAT = 'F Y'
279
280
281You're seeing this error because you have DEBUG = True in your
282Django settings file. Change that to False, and Django will
283display a standard page generated by the handler for this status code.