· 6 years ago · Jul 11, 2019, 11:54 AM
1MultiValueDictKeyError at /gift-certificate/
2'gift_reason'
3
4Request Method: POST
5Request URL: http://0.0.0.0:8000/gift-certificate/
6Django Version: 2.2
7Python Executable: /usr/local/bin/python
8Python Version: 3.5.7
9Python Path: ['/code', '/usr/local/lib/python35.zip', '/usr/local/lib/python3.5', '/usr/local/lib/python3.5/plat-linux', '/usr/local/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/site-packages', '/src/django-usermgmt', '/usr/local/lib/python3.5/site-packages/odf', '/usr/local/lib/python3.5/site-packages/odf', '/usr/local/lib/python3.5/site-packages/odf', '/usr/local/lib/python3.5/site-packages/odf', '/usr/local/lib/python3.5/site-packages/odf', '/usr/local/lib/python3.5/site-packages/odf', '/usr/local/lib/python3.5/site-packages/odf']
10Server time: Thu, 11 Jul 2019 11:50:14 +0000
11Installed Applications:
12['usermgmt',
13 'sos.custom_user',
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 'rest_framework',
21 'sos.gift_certificate']
22Installed Middleware:
23['django.middleware.security.SecurityMiddleware',
24 'django.contrib.sessions.middleware.SessionMiddleware',
25 'django.middleware.common.CommonMiddleware',
26 'django.middleware.csrf.CsrfViewMiddleware',
27 'django.contrib.auth.middleware.AuthenticationMiddleware',
28 'django.contrib.messages.middleware.MessageMiddleware',
29 'django.middleware.clickjacking.XFrameOptionsMiddleware']
30
31
32Traceback:
33
34File "/usr/local/lib/python3.5/site-packages/django/utils/datastructures.py" in __getitem__
35 78. list_ = super().__getitem__(key)
36
37During handling of the above exception ('gift_reason'), another exception occurred:
38
39File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
40 34. response = get_response(request)
41
42File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
43 115. response = self.process_exception_by_middleware(e, request)
44
45File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
46 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
47
48File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
49 54. return view_func(*args, **kwargs)
50
51File "/usr/local/lib/python3.5/site-packages/django/views/generic/base.py" in view
52 71. return self.dispatch(request, *args, **kwargs)
53
54File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
55 495. response = self.handle_exception(exc)
56
57File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
58 455. self.raise_uncaught_exception(exc)
59
60File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
61 492. response = handler(request, *args, **kwargs)
62
63File "/code/sos/gift_certificate/views.py" in post
64 14. pdf_hash = services.gen_hash_for_pdf_data(request.data)
65
66File "/code/sos/gift_certificate/services.py" in gen_hash_for_pdf_data
67 31. hash_data = (data['gift_reason'] + str(datetime.now()) + data['recipient_last_name']).encode('utf-8')
68
69File "/usr/local/lib/python3.5/site-packages/django/utils/datastructures.py" in __getitem__
70 80. raise MultiValueDictKeyError(key)
71
72Exception Type: MultiValueDictKeyError at /gift-certificate/
73Exception Value: 'gift_reason'
74Request information:
75USER: AnonymousUser
76
77GET: No GET data
78
79POST:
80{
81 "amount": "100 CHF",
82 "gift_reason": "Geburtstag",
83 "salutation": "Herr",
84 "first_name": "Hans-Peter",
85 "last_name": "Zollenberger",
86 "recipient_first_name": "Mario",
87 "recipient_last_name": "Colombo Proaño Colombo3"
88} = ''
89
90FILES: No FILES data
91
92COOKIES: No cookie data
93
94META:
95CONTENT_LENGTH = '243'
96CONTENT_TYPE = 'application/x-www-form-urlencoded'
97DJANGO_SETTINGS_MODULE = 'sos.settings'
98GATEWAY_INTERFACE = 'CGI/1.1'
99GPG_KEY = '97FC712E4C024BBEA48A61ED3A5CA953F73C700D'
100HOME = '/root'
101HOSTNAME = '72e6610ba7ee'
102HTTP_ACCEPT = '*/*'
103HTTP_ACCEPT_ENCODING = 'gzip, deflate'
104HTTP_CACHE_CONTROL = 'no-cache'
105HTTP_CONNECTION = 'keep-alive'
106HTTP_HOST = '0.0.0.0:8000'
107HTTP_POSTMAN_TOKEN = 'cbd14586-0c30-4b7e-9ca8-5cdda9f97165'
108HTTP_USER_AGENT = 'PostmanRuntime/7.6.0'
109LANG = 'en_US.UTF-8'
110LC_ALL = 'en_US.UTF-8'
111PATH = '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
112PATH_INFO = '/gift-certificate/'
113PYTHONUNBUFFERED = '1'
114PYTHON_PIP_VERSION = '19.1.1'
115PYTHON_VERSION = '3.5.7'
116QUERY_STRING = ''
117REMOTE_ADDR = '172.22.0.1'
118REMOTE_HOST = ''
119REQUEST_METHOD = 'POST'
120RUN_MAIN = 'true'
121SCRIPT_NAME = ''
122SERVER_NAME = '72e6610ba7ee'
123SERVER_PORT = '8000'
124SERVER_PROTOCOL = 'HTTP/1.1'
125SERVER_SOFTWARE = 'WSGIServer/0.2'
126TZ = 'UTC'
127wsgi.errors = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
128wsgi.file_wrapper = ''
129wsgi.input = <django.core.handlers.wsgi.LimitedStream object at 0x7f863c30c0f0>
130wsgi.multiprocess = False
131wsgi.multithread = True
132wsgi.run_once = False
133wsgi.url_scheme = 'http'
134wsgi.version = '(1, 0)'
135
136Settings:
137Using settings module sos.settings
138ABSOLUTE_URL_OVERRIDES = {}
139ADMINS = []
140ALLOWED_HOSTS = ['*']
141APPEND_SLASH = True
142AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
143AUTH_PASSWORD_VALIDATORS = '********************'
144AUTH_USER_MODEL = 'custom_user.User'
145BASE_DIR = '/code'
146CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
147CACHE_MIDDLEWARE_ALIAS = 'default'
148CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
149CACHE_MIDDLEWARE_SECONDS = 600
150CSRF_COOKIE_AGE = 31449600
151CSRF_COOKIE_DOMAIN = None
152CSRF_COOKIE_HTTPONLY = False
153CSRF_COOKIE_NAME = 'csrftoken'
154CSRF_COOKIE_PATH = '/'
155CSRF_COOKIE_SAMESITE = 'Lax'
156CSRF_COOKIE_SECURE = False
157CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
158CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
159CSRF_TRUSTED_ORIGINS = []
160CSRF_USE_SESSIONS = False
161DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'PASSWORD': '********************', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'HOST': '', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'USER': '', 'NAME': '/code/db.sqlite3', 'OPTIONS': {}, 'TEST': {'MIRROR': None, 'COLLATION': None, 'NAME': None, 'CHARSET': None}}}
162DATABASE_ROUTERS = []
163DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
164DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
165DATETIME_FORMAT = 'N j, Y, P'
166DATETIME_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']
167DATE_FORMAT = 'N j, Y'
168DATE_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']
169DEBUG = True
170DEBUG_PROPAGATE_EXCEPTIONS = False
171DECIMAL_SEPARATOR = '.'
172DEFAULT_CHARSET = 'utf-8'
173DEFAULT_CONTENT_TYPE = 'text/html'
174DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
175DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
176DEFAULT_FROM_EMAIL = 'webmaster@localhost'
177DEFAULT_INDEX_TABLESPACE = ''
178DEFAULT_TABLESPACE = ''
179DISALLOWED_USER_AGENTS = []
180EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
181EMAIL_HOST = 'localhost'
182EMAIL_HOST_PASSWORD = '********************'
183EMAIL_HOST_USER = ''
184EMAIL_PORT = 25
185EMAIL_SSL_CERTFILE = None
186EMAIL_SSL_KEYFILE = '********************'
187EMAIL_SUBJECT_PREFIX = '[Django] '
188EMAIL_TIMEOUT = None
189EMAIL_USE_LOCALTIME = False
190EMAIL_USE_SSL = False
191EMAIL_USE_TLS = False
192ENVIRONMENT = 'develop'
193FILE_CHARSET = 'utf-8'
194FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
195FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
196FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
197FILE_UPLOAD_PERMISSIONS = None
198FILE_UPLOAD_TEMP_DIR = None
199FIRST_DAY_OF_WEEK = 0
200FIXTURE_DIRS = []
201FORCE_SCRIPT_NAME = None
202FORMAT_MODULE_PATH = None
203FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
204IGNORABLE_404_URLS = []
205INSTALLED_APPS = ['usermgmt', 'sos.custom_user', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'sos.gift_certificate']
206INTERNAL_IPS = []
207LANGUAGES = [('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')]
208LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
209LANGUAGE_CODE = 'en-us'
210LANGUAGE_COOKIE_AGE = None
211LANGUAGE_COOKIE_DOMAIN = None
212LANGUAGE_COOKIE_NAME = 'django_language'
213LANGUAGE_COOKIE_PATH = '/'
214LOCALE_PATHS = []
215LOGGING = {'handlers': {'file': {'level': 'DEBUG', 'class': 'logging.handlers.WatchedFileHandler', 'filename': '/code/default.log'}, 'console': {'level': 'ERROR', 'class': 'logging.StreamHandler'}}, 'disable_existing_loggers': False, 'version': 1, 'root': {'level': 'DEBUG', 'handlers': ['console', 'file']}, 'loggers': {'django.request': {'level': 'DEBUG', 'propagate': True, 'handlers': ['console']}}}
216LOGGING_CONFIG = 'logging.config.dictConfig'
217LOGIN_ERROR_URL = 'accounts:login'
218LOGIN_REDIRECT_URL = ''
219LOGIN_URL = 'accounts:login'
220LOGOUT_REDIRECT_URL = None
221MANAGERS = []
222MEDIA_ROOT = '/code/media'
223MEDIA_URL = '/media/'
224MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
225MIDDLEWARE = ['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']
226MIGRATION_MODULES = {}
227MONTH_DAY_FORMAT = 'F j'
228NUMBER_GROUPING = 0
229PASSWORD_HASHERS = '********************'
230PASSWORD_RESET_TIMEOUT_DAYS = '********************'
231PREPEND_WWW = False
232ROOT_URLCONF = 'sos.urls'
233SECRET_KEY = '********************'
234SECURE_BROWSER_XSS_FILTER = False
235SECURE_CONTENT_TYPE_NOSNIFF = False
236SECURE_HSTS_INCLUDE_SUBDOMAINS = False
237SECURE_HSTS_PRELOAD = False
238SECURE_HSTS_SECONDS = 0
239SECURE_PROXY_SSL_HEADER = None
240SECURE_REDIRECT_EXEMPT = []
241SECURE_SSL_HOST = None
242SECURE_SSL_REDIRECT = False
243SENTRY_IS_ENABLED = False
244SERVER_EMAIL = 'root@localhost'
245SESSION_CACHE_ALIAS = 'default'
246SESSION_COOKIE_AGE = 1209600
247SESSION_COOKIE_DOMAIN = None
248SESSION_COOKIE_HTTPONLY = True
249SESSION_COOKIE_NAME = 'sessionid'
250SESSION_COOKIE_PATH = '/'
251SESSION_COOKIE_SAMESITE = 'Lax'
252SESSION_COOKIE_SECURE = False
253SESSION_ENGINE = 'django.contrib.sessions.backends.db'
254SESSION_EXPIRE_AT_BROWSER_CLOSE = False
255SESSION_FILE_PATH = None
256SESSION_SAVE_EVERY_REQUEST = False
257SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
258SETTINGS_MODULE = 'sos.settings'
259SHORT_DATETIME_FORMAT = 'm/d/Y P'
260SHORT_DATE_FORMAT = 'm/d/Y'
261SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
262SILENCED_SYSTEM_CHECKS = []
263STATICFILES_DIRS = "('/code/static',)"
264STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
265STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
266STATIC_ROOT = '/code/static-collected'
267STATIC_URL = '/static/'
268TEMPLATES = [{'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']}, 'DIRS': ['/code/templates'], 'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
269TEST_NON_SERIALIZED_APPS = []
270TEST_RUNNER = 'django.test.runner.DiscoverRunner'
271THOUSAND_SEPARATOR = ','
272TIME_FORMAT = 'P'
273TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
274TIME_ZONE = 'UTC'
275USER_FIELDS = ['email']
276USE_I18N = True
277USE_L10N = True
278USE_THOUSAND_SEPARATOR = False
279USE_TZ = True
280USE_X_FORWARDED_HOST = False
281USE_X_FORWARDED_PORT = False
282VALIDATE_EMAIL_REDIRECT_URL = 'accounts:password_set'
283WSGI_APPLICATION = 'sos.wsgi.application'
284X_FRAME_OPTIONS = 'SAMEORIGIN'
285YEAR_MONTH_FORMAT = 'F Y'
286
287
288You're seeing this error because you have DEBUG = True in your
289Django settings file. Change that to False, and Django will
290display a standard page generated by the handler for this status code.