· 9 years ago · Feb 19, 2017, 08:16 PM
1MultiValueDictKeyError at /order/
2"'user'"
3
4Request Method: POST
5Request URL: https://forkit-api.herokuapp.com/order/?user=smagierski%40gmail.com&order_list%5B0%5D%5Bid%5D=2003011233380&order_list%5B0%5D%5Bq%5D=1&order_list%5B1%5D%5Bid%5D=2003005900212&order_list%5B1%5D%5Bq%5D=1&order_list%5B2%5D%5Bid%5D=2003011341702&order_list%5B2%5D%5Bq%5D=2&order_list%5B3%5D%5Bid%5D=2003010669906&order_list%5B3%5D%5Bq%5D=2&order_list%5B4%5D%5Bid%5D=2003120291232&order_list%5B4%5D%5Bq%5D=1
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/plat-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/setuptools-32.1.0-py3.5.egg', '/app/.heroku/python/lib/python3.5/site-packages/pip-9.0.1-py3.5.egg']
10Server time: Sun, 19 Feb 2017 20:12:15 +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 'api_tesco.api',
19 'rest_framework',
20 'oauth2_provider']
21Installed Middleware:
22['django.middleware.security.SecurityMiddleware',
23 'django.contrib.sessions.middleware.SessionMiddleware',
24 'django.middleware.common.CommonMiddleware',
25 'django.middleware.csrf.CsrfViewMiddleware',
26 'django.contrib.auth.middleware.AuthenticationMiddleware',
27 'django.contrib.messages.middleware.MessageMiddleware',
28 'django.middleware.clickjacking.XFrameOptionsMiddleware']
29
30
31Traceback:
32
33File "/app/.heroku/python/lib/python3.5/site-packages/django/utils/datastructures.py" in __getitem__
34 83. list_ = super(MultiValueDict, self).__getitem__(key)
35
36
37 During handling of the above exception ('user'), another exception occurred:
38
39
40
41File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
42 39. response = get_response(request)
43
44File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
45 187. response = self.process_exception_by_middleware(e, request)
46
47File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
48 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
49
50File "/app/.heroku/python/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
51 58. return view_func(*args, **kwargs)
52
53File "/app/.heroku/python/lib/python3.5/site-packages/django/views/generic/base.py" in view
54 68. return self.dispatch(request, *args, **kwargs)
55
56File "/app/.heroku/python/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
57 474. response = self.handle_exception(exc)
58
59File "/app/.heroku/python/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
60 434. self.raise_uncaught_exception(exc)
61
62File "/app/.heroku/python/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
63 471. response = handler(request, *args, **kwargs)
64
65File "/app/api_tesco/api/views.py" in post
66 25. order_info = order.make_order(request.data['user'], request.data['order_list'])
67
68File "/app/.heroku/python/lib/python3.5/site-packages/django/utils/datastructures.py" in __getitem__
69 85. raise MultiValueDictKeyError(repr(key))
70
71Exception Type: MultiValueDictKeyError at /order/
72Exception Value: "'user'"
73Request information:
74USER: test
75
76GET:
77order_list[0][q] = '1'
78user = 'smagierski@gmail.com'
79order_list[4][q] = '1'
80order_list[0][id] = '2003011233380'
81order_list[1][id] = '2003005900212'
82order_list[3][q] = '2'
83order_list[2][id] = '2003011341702'
84order_list[1][q] = '1'
85order_list[3][id] = '2003010669906'
86order_list[4][id] = '2003120291232'
87order_list[2][q] = '2'
88
89POST: No POST data
90
91FILES: No FILES data
92
93COOKIES: No cookie data
94
95META:
96CONTENT_LENGTH = '0'
97HTTP_AUTHORIZATION = 'Bearer qsrZlDbRy706HUqYDXcDv9H6gj5cad'
98HTTP_CONNECTION = 'close'
99HTTP_CONNECT_TIME = '0'
100HTTP_HOST = 'forkit-api.herokuapp.com'
101HTTP_TOTAL_ROUTE_TIME = '0'
102HTTP_VIA = '1.1 vegur'
103HTTP_X_FORWARDED_FOR = '95.160.152.59'
104HTTP_X_FORWARDED_PORT = '443'
105HTTP_X_FORWARDED_PROTO = 'https'
106HTTP_X_REQUEST_ID = 'c6dd2541-ea93-418e-a688-31de69dc7082'
107HTTP_X_REQUEST_START = '1487535135070'
108PATH_INFO = '/order/'
109QUERY_STRING = 'user=smagierski%40gmail.com&order_list%5B0%5D%5Bid%5D=2003011233380&order_list%5B0%5D%5Bq%5D=1&order_list%5B1%5D%5Bid%5D=2003005900212&order_list%5B1%5D%5Bq%5D=1&order_list%5B2%5D%5Bid%5D=2003011341702&order_list%5B2%5D%5Bq%5D=2&order_list%5B3%5D%5Bid%5D=2003010669906&order_list%5B3%5D%5Bq%5D=2&order_list%5B4%5D%5Bid%5D=2003120291232&order_list%5B4%5D%5Bq%5D=1'
110RAW_URI = '/order/?user=smagierski%40gmail.com&order_list%5B0%5D%5Bid%5D=2003011233380&order_list%5B0%5D%5Bq%5D=1&order_list%5B1%5D%5Bid%5D=2003005900212&order_list%5B1%5D%5Bq%5D=1&order_list%5B2%5D%5Bid%5D=2003011341702&order_list%5B2%5D%5Bq%5D=2&order_list%5B3%5D%5Bid%5D=2003010669906&order_list%5B3%5D%5Bq%5D=2&order_list%5B4%5D%5Bid%5D=2003120291232&order_list%5B4%5D%5Bq%5D=1'
111REMOTE_ADDR = '10.43.185.17'
112REMOTE_PORT = '39813'
113REQUEST_METHOD = 'POST'
114SCRIPT_NAME = ''
115SERVER_NAME = '0.0.0.0'
116SERVER_PORT = '12020'
117SERVER_PROTOCOL = 'HTTP/1.1'
118SERVER_SOFTWARE = 'gunicorn/19.5.0'
119gunicorn.socket = <socket.socket fd=12, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.28.54', 12020), raddr=('10.43.185.17', 39813)>
120wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f90d006aeb8>
121wsgi.file_wrapper = ''
122wsgi.input = <gunicorn.http.body.Body object at 0x7f90d006ae10>
123wsgi.multiprocess = True
124wsgi.multithread = False
125wsgi.run_once = False
126wsgi.url_scheme = 'https'
127wsgi.version =
128
129Settings:
130Using settings module api_tesco.settings
131ABSOLUTE_URL_OVERRIDES = {}
132ADMINS = []
133ALLOWED_HOSTS = ['*']
134APPEND_SLASH = True
135AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
136AUTH_PASSWORD_VALIDATORS = '********************'
137AUTH_USER_MODEL = 'auth.User'
138BASE_DIR = '/app'
139CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
140CACHE_MIDDLEWARE_ALIAS = 'default'
141CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
142CACHE_MIDDLEWARE_SECONDS = 600
143CSRF_COOKIE_AGE = 31449600
144CSRF_COOKIE_DOMAIN = None
145CSRF_COOKIE_HTTPONLY = False
146CSRF_COOKIE_NAME = 'csrftoken'
147CSRF_COOKIE_PATH = '/'
148CSRF_COOKIE_SECURE = False
149CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
150CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
151CSRF_TRUSTED_ORIGINS = []
152DATABASES = {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'TIME_ZONE': None, 'PASSWORD': '********************', 'PORT': 5432, 'CONN_MAX_AGE': 0, 'USER': 'ydktmldhjralfo', 'NAME': 'd8dpbh2c4fukr9', 'OPTIONS': {}, 'TEST': {'NAME': None, 'MIRROR': None, 'CHARSET': None, 'COLLATION': None}, 'HOST': 'ec2-54-243-204-221.compute-1.amazonaws.com'}}
153DATABASE_ROUTERS = []
154DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
155DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
156DATETIME_FORMAT = 'N j, Y, P'
157DATETIME_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']
158DATE_FORMAT = 'N j, Y'
159DATE_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']
160DEBUG = True
161DEBUG_PROPAGATE_EXCEPTIONS = False
162DECIMAL_SEPARATOR = '.'
163DEFAULT_CHARSET = 'utf-8'
164DEFAULT_CONTENT_TYPE = 'text/html'
165DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
166DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
167DEFAULT_FROM_EMAIL = 'webmaster@localhost'
168DEFAULT_INDEX_TABLESPACE = ''
169DEFAULT_TABLESPACE = ''
170DISALLOWED_USER_AGENTS = []
171EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
172EMAIL_HOST = 'localhost'
173EMAIL_HOST_PASSWORD = '********************'
174EMAIL_HOST_USER = ''
175EMAIL_PORT = 25
176EMAIL_SSL_CERTFILE = None
177EMAIL_SSL_KEYFILE = '********************'
178EMAIL_SUBJECT_PREFIX = '[Django] '
179EMAIL_TIMEOUT = None
180EMAIL_USE_SSL = False
181EMAIL_USE_TLS = False
182FILE_CHARSET = 'utf-8'
183FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
184FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
185FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
186FILE_UPLOAD_PERMISSIONS = None
187FILE_UPLOAD_TEMP_DIR = None
188FIRST_DAY_OF_WEEK = 0
189FIXTURE_DIRS = []
190FORCE_SCRIPT_NAME = None
191FORMAT_MODULE_PATH = None
192IGNORABLE_404_URLS = []
193INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'api_tesco.api', 'rest_framework', 'oauth2_provider']
194INTERNAL_IPS = []
195LANGUAGES = [('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'), ('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')]
196LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
197LANGUAGE_CODE = 'en-us'
198LANGUAGE_COOKIE_AGE = None
199LANGUAGE_COOKIE_DOMAIN = None
200LANGUAGE_COOKIE_NAME = 'django_language'
201LANGUAGE_COOKIE_PATH = '/'
202LOCALE_PATHS = []
203LOGGING = {}
204LOGGING_CONFIG = 'logging.config.dictConfig'
205LOGIN_REDIRECT_URL = '/accounts/profile/'
206LOGIN_URL = '/accounts/login/'
207LOGOUT_REDIRECT_URL = None
208MANAGERS = []
209MEDIA_ROOT = ''
210MEDIA_URL = ''
211MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
212MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', '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']
213MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware']
214MIGRATION_MODULES = {}
215MONTH_DAY_FORMAT = 'F j'
216NUMBER_GROUPING = 0
217OAUTH2_PROVIDER = {'SCOPES': {'read': 'Read scope', 'write': 'Write scope', 'groups': 'Access to your groups'}}
218ON_HEROKU = '1'
219PASSWORD_HASHERS = '********************'
220PASSWORD_RESET_TIMEOUT_DAYS = '********************'
221PREPEND_WWW = False
222PROJECT_ROOT = '/app/api_tesco'
223REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('oauth2_provider.ext.rest_framework.OAuth2Authentication',), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',)}
224ROOT_URLCONF = 'api_tesco.urls'
225SECRET_KEY = '********************'
226SECURE_BROWSER_XSS_FILTER = False
227SECURE_CONTENT_TYPE_NOSNIFF = False
228SECURE_HSTS_INCLUDE_SUBDOMAINS = False
229SECURE_HSTS_SECONDS = 0
230SECURE_PROXY_SSL_HEADER =
231SECURE_REDIRECT_EXEMPT = []
232SECURE_SSL_HOST = None
233SECURE_SSL_REDIRECT = False
234SERVER_EMAIL = 'root@localhost'
235SESSION_CACHE_ALIAS = 'default'
236SESSION_COOKIE_AGE = 1209600
237SESSION_COOKIE_DOMAIN = None
238SESSION_COOKIE_HTTPONLY = True
239SESSION_COOKIE_NAME = 'sessionid'
240SESSION_COOKIE_PATH = '/'
241SESSION_COOKIE_SECURE = False
242SESSION_ENGINE = 'django.contrib.sessions.backends.db'
243SESSION_EXPIRE_AT_BROWSER_CLOSE = False
244SESSION_FILE_PATH = None
245SESSION_SAVE_EVERY_REQUEST = False
246SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
247SETTINGS_MODULE = 'api_tesco.settings'
248SHORT_DATETIME_FORMAT = 'm/d/Y P'
249SHORT_DATE_FORMAT = 'm/d/Y'
250SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
251SILENCED_SYSTEM_CHECKS = []
252STATICFILES_DIRS = '/app/api_tesco/static'
253STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
254STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
255STATIC_ROOT = '/app/api_tesco/staticfiles'
256STATIC_URL = '/static/'
257TEMPLATES = [{'APP_DIRS': True, 'DIRS': [], 'BACKEND': 'django.template.backends.django.DjangoTemplates', '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']}}]
258TEST_NON_SERIALIZED_APPS = []
259TEST_RUNNER = 'django.test.runner.DiscoverRunner'
260THOUSAND_SEPARATOR = ','
261TIME_FORMAT = 'P'
262TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
263TIME_ZONE = 'UTC'
264USE_ETAGS = False
265USE_I18N = True
266USE_L10N = True
267USE_THOUSAND_SEPARATOR = False
268USE_TZ = True
269USE_X_FORWARDED_HOST = False
270USE_X_FORWARDED_PORT = False
271WSGI_APPLICATION = 'api_tesco.wsgi.application'
272X_FRAME_OPTIONS = 'SAMEORIGIN'
273YEAR_MONTH_FORMAT = 'F Y'
274
275
276You're seeing this error because you have DEBUG = True in your
277Django settings file. Change that to False, and Django will
278display a standard page generated by the handler for this status code.