View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004248 | Taler | obsolete component | public | 2016-03-20 09:22 | 2016-11-08 13:29 |
| Reporter | Torsten Grothoff | Assigned To | Marcello Stanisci | ||
| Priority | normal | Severity | block | Reproducibility | always |
| Status | closed | Resolution | duplicate | ||
| Product Version | 0.0 | ||||
| Target Version | 0.0 | Fixed in Version | 0.0 | ||
| Summary | 0004248: bug at https://bank.test.taler.net/auth/pin/question?exchange=https%3A%2F%2Fexchange.test.taler.net%2F&reserve_pub=KMPK9922NP7PK | ||||
| Description | ween i go to get pudos on the test if i poot the rong anser in the folloing appears: TypeError at /pin/verify Unicode-objects must be encoded before hashing Request Method: POST Request URL: https://bank.test.taler.net/pin/verify Django Version: 1.9.2 Exception Type: TypeError Exception Value: Unicode-objects must be encoded before hashing Exception Location: ./bank_app/captcha.py in pin_tan_verify_attempt, line 111 Python Executable: /home/test/bank-venv/bin/uwsgi Python Version: 3.4.4 Python Path: ['.', '', '/home/test/bank-venv/lib/python3.4', '/home/test/bank-venv/lib/python3.4/plat-x86_64-linux-gnu', '/home/test/bank-venv/lib/python3.4/lib-dynload', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/home/test/bank-venv/lib/python3.4/site-packages'] Server time: Sun, 20 Mar 2016 08:18:27 +0000 Traceback Switch to copy-and-paste view /home/test/bank-venv/lib/python3.4/site-packages/django/core/handlers/base.py in get_response response = self.process_exception_by_middleware(e, request) ... ▶ Local vars /home/test/bank-venv/lib/python3.4/site-packages/django/core/handlers/base.py in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ... ▶ Local vars ./bank_app/captcha.py in pin_tan_verify ▶ Local vars ./bank_app/lib.py in check_login def check_db(fn): ... ▶ Local vars ./bank_app/captcha.py in pin_tan_verify_attempt except Exception: # FIXME narrow the Exception type ... ▶ Local vars Request information GET No GET data POST Variable Value pin_0 '5' pin_1 '98a3e710da53dabe74c24d824a6b023c479080bf' csrfmiddlewaretoken '451s8ACSdrofzUINllCLlgiTTwogQXq7' FILES No FILES data COOKIES Variable Value sessionid 't1wrq4strp74bryeg1v4dcwhts6qlj5l' csrftoken '451s8ACSdrofzUINllCLlgiTTwogQXq7' META Variable Value wsgi.input <uwsgi._Input object at 0x7f461ba9ea68> HTTP_DNT '1' wsgi.version (1, 0) HTTP_CACHE_CONTROL 'max-age=0' HTTP_ACCEPT_LANGUAGE 'en-US,en;q=0.8' wsgi.multithread False HTTPS 'on' REQUEST_SCHEME 'https' SCRIPT_NAME '' HTTP_CONTENT_TYPE 'application/x-www-form-urlencoded' CONTENT_LENGTH '107' wsgi.errors <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> wsgi.multiprocess False HTTP_REFERER 'https://bank.test.taler.net/auth/pin/question?exchange=https%3A%2F%2Fexchange.test.taler.net%2F&reserve_pub=KMPK9922NP7PKF7R2AXR795NK9XVS0TJ58HTA26XM52BNNKGHXPG&amount_value=1&amount_fraction=0&amount_currency=PUDOS' HTTP_CONNECTION 'keep-alive' HTTP_HOST 'bank.test.taler.net' SERVER_PROTOCOL 'HTTP/1.1' wsgi.file_wrapper '' PATH_INFO '/pin/verify' REMOTE_ADDR '86.253.40.254' HTTP_USER_AGENT ('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/49.0.2623.87 Safari/537.36') QUERY_STRING '' CSRF_COOKIE '451s8ACSdrofzUINllCLlgiTTwogQXq7' SERVER_NAME 'bank.test.taler.net' uwsgi.node b'tripwire' DOCUMENT_ROOT '/usr/share/nginx/html' SERVER_PORT '443' HTTP_CONTENT_LENGTH '107' wsgi.url_scheme 'https' CONTENT_TYPE 'application/x-www-form-urlencoded' HTTP_UPGRADE_INSECURE_REQUESTS '1' REQUEST_URI '/pin/verify' uwsgi.version b'2.0.12' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_COOKIE ('sessionid=t1wrq4strp74bryeg1v4dcwhts6qlj5l; ' 'csrftoken=451s8ACSdrofzUINllCLlgiTTwogQXq7') REQUEST_METHOD 'POST' wsgi.run_once False HTTP_ORIGIN 'https://bank.test.taler.net' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' REMOTE_PORT '56678' Settings Using settings module bank_project.settings Setting Value ADMINS [] SESSION_SAVE_EVERY_REQUEST False AUTH_PASSWORD_VALIDATORS '********************' SESSION_FILE_PATH None MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage' X_FRAME_OPTIONS 'SAMEORIGIN' CSRF_COOKIE_NAME 'csrftoken' DATABASE_ROUTERS [] DEFAULT_INDEX_TABLESPACE '' SESSION_COOKIE_DOMAIN None LANGUAGE_COOKIE_DOMAIN None TEMPLATE_CONTEXT_PROCESSORS ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages'] CSRF_COOKIE_PATH '/' EMAIL_USE_SSL False WSGI_APPLICATION 'bank_project.wsgi.application' MEDIA_ROOT '' MIDDLEWARE_CLASSES ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] DATE_FORMAT 'N j, Y' CSRF_COOKIE_AGE 31449600 EMAIL_HOST 'localhost' YEAR_MONTH_FORMAT 'F Y' TEST_NON_SERIALIZED_APPS [] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 DEFAULT_CONTENT_TYPE 'text/html' SHORT_DATE_FORMAT 'm/d/Y' CSRF_COOKIE_SECURE False STATIC_URL '/static/' CSRF_COOKIE_HTTPONLY False FIXTURE_DIRS [] MIGRATION_MODULES {} TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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']}}] SECURE_BROWSER_XSS_FILTER False STATIC_ROOT 'static/' LOGIN_REDIRECT_URL '/accounts/profile/' FORMAT_MODULE_PATH None ROOT_URLCONF 'bank_project.urls' INSTALLED_APPS ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'bank_app'] FIRST_DAY_OF_WEEK 0 LOGIN_URL '/accounts/login/' TEMPLATE_DIRS [] SESSION_EXPIRE_AT_BROWSER_CLOSE False SECURE_PROXY_SSL_HEADER None SESSION_COOKIE_SECURE False SETTINGS_MODULE 'bank_project.settings' USE_X_FORWARDED_PORT False USE_THOUSAND_SEPARATOR False SECRET_KEY '********************' PREPEND_WWW False IGNORABLE_404_URLS [] DEFAULT_TABLESPACE '' DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': '', 'NAME': 'talertest', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} USE_L10N True CACHE_MIDDLEWARE_KEY_PREFIX '********************' DATE_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'] FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] LANGUAGE_CODE 'en-us' TEMPLATE_LOADERS ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader'] SECURE_SSL_REDIRECT False SECURE_SSL_HOST None TEMPLATE_DEBUG False SESSION_COOKIE_HTTPONLY True DEBUG_PROPAGATE_EXCEPTIONS False TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] CACHE_MIDDLEWARE_ALIAS 'default' DATETIME_FORMAT 'N j, Y, P' TEST_RUNNER 'django.test.runner.DiscoverRunner' TEMPLATE_STRING_IF_INVALID '' DATETIME_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'] ALLOWED_INCLUDE_ROOTS [] NUMBER_GROUPING 0 LANGUAGE_COOKIE_PATH '/' SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer' DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage' STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage' SILENCED_SYSTEM_CHECKS [] SECURE_REDIRECT_EXEMPT [] STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] LOGOUT_URL '/accounts/logout/' SIGNING_BACKEND 'django.core.signing.TimestampSigner' EMAIL_TIMEOUT None TIME_ZONE 'UTC' AUTH_USER_MODEL 'auth.User' DEBUG True SHORT_DATETIME_FORMAT 'm/d/Y P' TIME_FORMAT 'P' EMAIL_HOST_PASSWORD '********************' SESSION_COOKIE_NAME 'sessionid' MANAGERS [] EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend' LOGGING {} INTERNAL_IPS [] LANGUAGE_COOKIE_NAME 'django_language' DEFAULT_FROM_EMAIL 'webmaster@localhost' FILE_UPLOAD_PERMISSIONS None USE_TZ True USE_I18N True DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter' EMAIL_HOST_USER '' FILE_CHARSET 'utf-8' DEFAULT_CHARSET 'utf-8' USE_X_FORWARDED_HOST False SECURE_CONTENT_TYPE_NOSNIFF False CSRF_TRUSTED_ORIGINS [] LANGUAGES_BIDI ['he', 'ar', 'fa', 'ur'] SESSION_COOKIE_AGE 1209600 CSRF_COOKIE_DOMAIN None SESSION_ENGINE 'django.contrib.sessions.backends.db' ALLOWED_HOSTS [] PASSWORD_RESET_TIMEOUT_DAYS '********************' SECURE_HSTS_INCLUDE_SUBDOMAINS False MONTH_DAY_FORMAT 'F j' THOUSAND_SEPARATOR ',' FILE_UPLOAD_DIRECTORY_PERMISSIONS None LANGUAGE_COOKIE_AGE None CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure' FORCE_SCRIPT_NAME None SERVER_EMAIL 'root@localhost' STATICFILES_DIRS ['/home/test/bank/django/bank_app/my-static'] EMAIL_SUBJECT_PREFIX '[Django] ' SECURE_HSTS_SECONDS 0 APPEND_SLASH True EMAIL_SSL_CERTFILE None DISALLOWED_USER_AGENTS [] EMAIL_SSL_KEYFILE '********************' EMAIL_USE_TLS False CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN' EMAIL_PORT 25 ABSOLUTE_URL_OVERRIDES {} LOGGING_CONFIG 'logging.config.dictConfig' AUTHENTICATION_BACKENDS ['django.contrib.auth.backends.ModelBackend'] CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} LOCALE_PATHS [] FILE_UPLOAD_TEMP_DIR None DECIMAL_SEPARATOR '.' PASSWORD_HASHERS '********************' SESSION_COOKIE_PATH '/' MEDIA_URL '' USE_ETAGS False BASE_DIR '/home/test/bank/django' CACHE_MIDDLEWARE_SECONDS 600 LANGUAGES [('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'), ('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'), ('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 Bokmal'), ('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')] SESSION_CACHE_ALIAS 'default' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. | ||||
| Additional Information | META Variable Value wsgi.input <uwsgi._Input object at 0x7f461ba9ea68> HTTP_DNT '1' wsgi.version (1, 0) HTTP_CACHE_CONTROL 'max-age=0' HTTP_ACCEPT_LANGUAGE 'en-US,en;q=0.8' wsgi.multithread False HTTPS 'on' REQUEST_SCHEME 'https' SCRIPT_NAME '' HTTP_CONTENT_TYPE 'application/x-www-form-urlencoded' CONTENT_LENGTH '107' wsgi.errors <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> wsgi.multiprocess False HTTP_REFERER 'https://bank.test.taler.net/auth/pin/question?exchange=https%3A%2F%2Fexchange.test.taler.net%2F&reserve_pub=KMPK9922NP7PKF7R2AXR795NK9XVS0TJ58HTA26XM52BNNKGHXPG&amount_value=1&amount_fraction=0&amount_currency=PUDOS' HTTP_CONNECTION 'keep-alive' HTTP_HOST 'bank.test.taler.net' SERVER_PROTOCOL 'HTTP/1.1' wsgi.file_wrapper '' PATH_INFO '/pin/verify' REMOTE_ADDR '86.253.40.254' HTTP_USER_AGENT ('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/49.0.2623.87 Safari/537.36') QUERY_STRING '' CSRF_COOKIE '451s8ACSdrofzUINllCLlgiTTwogQXq7' SERVER_NAME 'bank.test.taler.net' uwsgi.node b'tripwire' DOCUMENT_ROOT '/usr/share/nginx/html' SERVER_PORT '443' HTTP_CONTENT_LENGTH '107' wsgi.url_scheme 'https' CONTENT_TYPE 'application/x-www-form-urlencoded' HTTP_UPGRADE_INSECURE_REQUESTS '1' REQUEST_URI '/pin/verify' uwsgi.version b'2.0.12' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_COOKIE ('sessionid=t1wrq4strp74bryeg1v4dcwhts6qlj5l; ' 'csrftoken=451s8ACSdrofzUINllCLlgiTTwogQXq7') REQUEST_METHOD 'POST' wsgi.run_once False HTTP_ORIGIN 'https://bank.test.taler.net' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' REMOTE_PORT '56678' | ||||
| Tags | No tags attached. | ||||
| Attached Files | TypeError at _pin_verify.html (61,287 bytes)
<!DOCTYPE html>
<!-- saved from url=(0038)https://bank.test.taler.net/pin/verify -->
<html lang="en"><script type="text/javascript">window["_gaUserPrefs"] = { ioo : function() { return true; } }</script><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>TypeError at /pin/verify</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<style type="text/css"></style><script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.innerHTML = s.innerHTML == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.innerHTML = link.innerHTML.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
<link rel="stylesheet" type="text/css" href="chrome-extension://pkehgijcmpdhfbdbbnkijodmdjhbjlgp/skin/socialwidgets.css"></head>
<body>
<div id="summary">
<h1>TypeError at /pin/verify</h1>
<pre class="exception_value">Unicode-objects must be encoded before hashing</pre>
<table class="meta">
<tbody><tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://bank.test.taler.net/pin/verify</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.9.2</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>TypeError</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>Unicode-objects must be encoded before hashing</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>./bank_app/captcha.py in pin_tan_verify_attempt, line 111</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/home/test/bank-venv/bin/uwsgi</td>
</tr>
<tr>
<th>Python Version:</th>
<td>3.4.4</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['.',
'',
'/home/test/bank-venv/lib/python3.4',
'/home/test/bank-venv/lib/python3.4/plat-x86_64-linux-gnu',
'/home/test/bank-venv/lib/python3.4/lib-dynload',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/home/test/bank-venv/lib/python3.4/site-packages']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Sun, 20 Mar 2016 08:18:27 +0000</td>
</tr>
</tbody></table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="https://bank.test.taler.net/pin/verify#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/home/test/bank-venv/lib/python3.4/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
<div class="context" id="c139939042037320">
<ol start="142" class="pre-context" id="pre139939042037320" style="display: none;">
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> break</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre></pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> try:</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> except Exception as e:</pre></li>
</ol>
<ol start="149" class="context-line">
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
<ol start="150" class="post-context" id="post139939042037320" style="display: none;">
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre></pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> # Complain if the view returned None (a common error).</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> view_name = callback.__name__</pre></li>
<li onclick="toggle('pre139939042037320', 'post139939042037320')"><pre> else: # CBV</pre></li>
</ol>
</div>
<div class="commands">
<a href="https://bank.test.taler.net/pin/verify#" onclick="return varToggle(this, '139939042037320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139939042037320" style="display: none;">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>urlconf</td>
<td class="code"><pre>'bank_project.urls'</pre></td>
</tr>
<tr>
<td>response_is_rendered</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><WSGIRequest: POST '/pin/verify'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7f461be72f60></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'bank_project.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=bank_app.captcha.pin_tan_verify, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>callback</td>
<td class="code"><pre><function pin_tan_verify at 0x7f4618f44950></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>wrapped_callback</td>
<td class="code"><pre><function pin_tan_verify at 0x7f4618f44950></pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f46190e6d68>></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/home/test/bank-venv/lib/python3.4/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
<div class="context" id="c139939042034120">
<ol start="140" class="pre-context" id="pre139939042034120" style="display: none;">
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> if response:</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> break</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre></pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> try:</pre></li>
</ol>
<ol start="147" class="context-line">
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
<ol start="148" class="post-context" id="post139939042034120" style="display: none;">
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre></pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> # Complain if the view returned None (a common error).</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139939042034120', 'post139939042034120')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
</ol>
</div>
<div class="commands">
<a href="https://bank.test.taler.net/pin/verify#" onclick="return varToggle(this, '139939042034120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139939042034120" style="display: none;">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>urlconf</td>
<td class="code"><pre>'bank_project.urls'</pre></td>
</tr>
<tr>
<td>response_is_rendered</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><WSGIRequest: POST '/pin/verify'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7f461be72f60></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'bank_project.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=bank_app.captcha.pin_tan_verify, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>callback</td>
<td class="code"><pre><function pin_tan_verify at 0x7f4618f44950></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>wrapped_callback</td>
<td class="code"><pre><function pin_tan_verify at 0x7f4618f44950></pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f46190e6d68>></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>./bank_app/captcha.py</code> in <code>pin_tan_verify</code>
<div class="commands">
<a href="https://bank.test.taler.net/pin/verify#" onclick="return varToggle(this, '139939042037192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139939042037192" style="display: none;">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><WSGIRequest: POST '/pin/verify'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>./bank_app/lib.py</code> in <code>check_login</code>
<div class="context" id="c139939042035528">
<ol start="106" class="pre-context" id="pre139939042035528" style="display: none;">
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> return amount_dict['value'] + (amount_dict['fraction'] / 1000000)</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre></pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre>def write_log_file(data, log_file="/tmp/django.log", flag='a'):</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> f = open(log_file, flag)</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> f.write(data)</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> f.close()</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre></pre></li>
</ol>
<ol start="113" class="context-line">
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre>def check_db(fn):</pre> <span>...</span></li></ol>
<ol start="114" class="post-context" id="post139939042035528" style="display: none;">
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> def fake_query(request):</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> try: User.objects.get(username='Bank')</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> except User.DoesNotExist:</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> return no_bank_account_handler(request)</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> except ProgrammingError:</pre></li>
<li onclick="toggle('pre139939042035528', 'post139939042035528')"><pre> return internal_error_handler(request,</pre></li>
</ol>
</div>
<div class="commands">
<a href="https://bank.test.taler.net/pin/verify#" onclick="return varToggle(this, '139939042035528')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139939042035528" style="display: none;">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>fn</td>
<td class="code"><pre><function pin_tan_verify_attempt at 0x7f4618f449d8></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><WSGIRequest: POST '/pin/verify'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>./bank_app/captcha.py</code> in <code>pin_tan_verify_attempt</code>
<div class="context" id="c139939042034440">
<ol start="104" class="pre-context" id="pre139939042034440" style="display: none;">
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre></pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre>def pin_tan_verify_attempt(request):</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> if request.method != 'POST':</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> raise WrongMethod("POST")</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> try:</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> given = request.POST['pin_0']</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> hashed_result = request.POST['pin_1']</pre></li>
</ol>
<ol start="111" class="context-line">
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> except Exception: # FIXME narrow the Exception type</pre> <span>...</span></li></ol>
<ol start="112" class="post-context" id="post139939042034440" style="display: none;">
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> raise BadPostValue</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> hasher = hashlib.new("sha1")</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> hasher.update(settings.SECRET_KEY)</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> hasher.update(given)</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> hashed_attempt = hasher.hexdigest()</pre></li>
<li onclick="toggle('pre139939042034440', 'post139939042034440')"><pre> if hashed_attempt == hashed_result:</pre></li>
</ol>
</div>
<div class="commands">
<a href="https://bank.test.taler.net/pin/verify#" onclick="return varToggle(this, '139939042034440')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139939042034440" style="display: none;">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>hasher</td>
<td class="code"><pre><sha1 HASH object @ 0x7f461de254e0></pre></td>
</tr>
<tr>
<td>hashed_result</td>
<td class="code"><pre>'98a3e710da53dabe74c24d824a6b023c479080bf'</pre></td>
</tr>
<tr>
<td>given</td>
<td class="code"><pre>'5'</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><WSGIRequest: POST '/pin/verify'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin" style="display: none;">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title" value="TypeError at /pin/verify">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">Environment:
Request Method: POST
Request URL: https://bank.test.taler.net/pin/verify
Django Version: 1.9.2
Python Version: 3.4.4
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bank_app']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/home/test/bank-venv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
149. response = self.process_exception_by_middleware(e, request)
File "/home/test/bank-venv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "./bank_app/captcha.py" in pin_tan_verify
File "./bank_app/lib.py" in check_login
113. def check_db(fn):
File "./bank_app/captcha.py" in pin_tan_verify_attempt
111. except Exception: # FIXME narrow the Exception type
Exception Type: TypeError at /pin/verify
Exception Value: Unicode-objects must be encoded before hashing
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pin_0</td>
<td class="code"><pre>'5'</pre></td>
</tr>
<tr>
<td>pin_1</td>
<td class="code"><pre>'98a3e710da53dabe74c24d824a6b023c479080bf'</pre></td>
</tr>
<tr>
<td>csrfmiddlewaretoken</td>
<td class="code"><pre>'451s8ACSdrofzUINllCLlgiTTwogQXq7'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sessionid</td>
<td class="code"><pre>'t1wrq4strp74bryeg1v4dcwhts6qlj5l'</pre></td>
</tr>
<tr>
<td>csrftoken</td>
<td class="code"><pre>'451s8ACSdrofzUINllCLlgiTTwogQXq7'</pre></td>
</tr>
</tbody>
</table>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><uwsgi._Input object at 0x7f461ba9ea68></pre></td>
</tr>
<tr>
<td>HTTP_DNT</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
<tr>
<td>HTTP_CACHE_CONTROL</td>
<td class="code"><pre>'max-age=0'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_LANGUAGE</td>
<td class="code"><pre>'en-US,en;q=0.8'</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>HTTPS</td>
<td class="code"><pre>'on'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>HTTP_CONTENT_TYPE</td>
<td class="code"><pre>'application/x-www-form-urlencoded'</pre></td>
</tr>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'107'</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>HTTP_REFERER</td>
<td class="code"><pre>'https://bank.test.taler.net/auth/pin/question?exchange=https%3A%2F%2Fexchange.test.taler.net%2F&reserve_pub=KMPK9922NP7PKF7R2AXR795NK9XVS0TJ58HTA26XM52BNNKGHXPG&amount_value=1&amount_fraction=0&amount_currency=PUDOS'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'keep-alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'bank.test.taler.net'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>'/pin/verify'</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'86.253.40.254'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/49.0.2623.87 Safari/537.36')</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE</td>
<td class="code"><pre>'451s8ACSdrofzUINllCLlgiTTwogQXq7'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'bank.test.taler.net'</pre></td>
</tr>
<tr>
<td>uwsgi.node</td>
<td class="code"><pre>b'tripwire'</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/usr/share/nginx/html'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>HTTP_CONTENT_LENGTH</td>
<td class="code"><pre>'107'</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'application/x-www-form-urlencoded'</pre></td>
</tr>
<tr>
<td>HTTP_UPGRADE_INSECURE_REQUESTS</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/pin/verify'</pre></td>
</tr>
<tr>
<td>uwsgi.version</td>
<td class="code"><pre>b'2.0.12'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip, deflate'</pre></td>
</tr>
<tr>
<td>HTTP_COOKIE</td>
<td class="code"><pre>('sessionid=t1wrq4strp74bryeg1v4dcwhts6qlj5l; '
'csrftoken=451s8ACSdrofzUINllCLlgiTTwogQXq7')</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>HTTP_ORIGIN</td>
<td class="code"><pre>'https://bank.test.taler.net'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT</td>
<td class="code"><pre>'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56678'</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>bank_project.settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ADMINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>'csrftoken'</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>TEMPLATE_CONTEXT_PROCESSORS</td>
<td class="code"><pre>['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages']</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>'/'</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>'bank_project.wsgi.application'</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>'N j, Y'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>'localhost'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>'F Y'</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>'text/html'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>'m/d/Y'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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']}}]</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>'static/'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'bank_project.urls'</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bank_app']</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>'/accounts/login/'</pre></td>
</tr>
<tr>
<td>TEMPLATE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'bank_project.settings'</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'talertest',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>['%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']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>TEMPLATE_LOADERS</td>
<td class="code"><pre>['django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader']</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>TEMPLATE_DEBUG</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>'default'</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>'N j, Y, P'</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>TEMPLATE_STRING_IF_INVALID</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>['%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']</pre></td>
</tr>
<tr>
<td>ALLOWED_INCLUDE_ROOTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>'/'</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>LOGOUT_URL</td>
<td class="code"><pre>'/accounts/logout/'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>'auth.User'</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>'m/d/Y P'</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>'P'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>'sessionid'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>'django_language'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>'utf-8'</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>['he', 'ar', 'fa', 'ur']</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>'F j'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>','</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>'root@localhost'</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>['/home/test/bank/django/bank_app/my-static']</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>'[Django] '</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>['django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>'.'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>'********************'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>'/'</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/home/test/bank/django'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[('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'),
('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'),
('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 Bokmal'),
('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')]</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>'default'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body></html> | ||||
| duplicate of | 0004247 | closed | Marcello Stanisci | TypeError at /pin/verify |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-03-20 09:22 | Torsten Grothoff | New Issue | |
| 2016-03-20 09:22 | Torsten Grothoff | File Added: TypeError at _pin_verify.html | |
| 2016-03-20 09:27 | Torsten Grothoff | Tag Attached: urgent | |
| 2016-03-20 20:23 | Torsten Grothoff | Note Added: 0010254 | |
| 2016-03-20 21:53 | Torsten Grothoff | Issue cloned: 0004249 | |
| 2016-03-21 00:21 | Christian Grothoff | Assigned To | => Marcello Stanisci |
| 2016-03-21 00:21 | Christian Grothoff | Priority | immediate => normal |
| 2016-03-21 00:21 | Christian Grothoff | Status | new => assigned |
| 2016-03-21 00:21 | Christian Grothoff | Category | other => bank (demonstrator) |
| 2016-03-21 00:21 | Christian Grothoff | Product Version | => 0.0 |
| 2016-03-21 00:21 | Christian Grothoff | Target Version | => 0.0 |
| 2016-03-21 00:21 | Christian Grothoff | Relationship added | duplicate of 0004247 |
| 2016-03-21 15:03 | Marcello Stanisci | Status | assigned => resolved |
| 2016-03-21 15:03 | Marcello Stanisci | Resolution | open => duplicate |
| 2016-03-22 17:13 | Christian Grothoff | Status | resolved => closed |
| 2016-03-22 17:13 | Christian Grothoff | Fixed in Version | => 0.0 |
| 2016-11-08 13:29 | Christian Grothoff | Tag Detached: urgent | |
| 2022-08-23 20:26 | Christian Grothoff | Category | bank (demonstrator) => py bank (demonstrator, obsolete) |
| 2023-12-03 01:23 | Christian Grothoff | Category | py bank (demonstrator, obsolete) => obsolete componet |
| 2023-12-11 20:08 | Florian Dold | Category | obsolete componet => obsolete component |