NameError at /pin/question

name 'urlparse' is not defined
Request Method: GET
Request URL: http://bank/pin/question?wire_details=%7B%22test%22%3A%7B%22name%22%3A%22The+exchange%22%2C%22account_number%22%3A2%2C%22bank_uri%22%3A%22http%3A%2F%2Fbank%2F%22%2C%22sig%22%3A%22WK5JG0H0Q4ZZ8E13WQG9MQ21AE3FDFKJS4EC32EQZG4R8A2T69FKH33X1HMRQY5806JFWP4EGDZ5QM5W4RNRV64FQ8N6A4F4QK3M20R%22%2C%22salt%22%3A%22PMP5A591ZQ77FCVS47JZ6DH1R0F8V1YKYK2HSX1T6H1MVXHVAVJTC71YY6WS054AAX917T8KQWJRX8HB4XZ5X9012S92ZD5BRQBTXT8%22%2C%22type%22%3A%22test%22%7D%7D&exchange=http%3A%2F%2Fexchange%2F&reserve_pub=5WS3792CB5G05SD5MEMJ7X6HTHQW4PHZP71FME2WPZ06P89J3GDG&amount_value=20&amount_fraction=0&amount_currency=KUDOS
Django Version: 1.9.5
Exception Type: NameError
Exception Value:
name 'urlparse' is not defined
Exception Location: /home/grothoff/lib/python3.4/site-packages/talerbank/app/captcha.py in normalize_exchange_url, line 35
Python Executable: /home/grothoff/bin/uwsgi
Python Version: 3.4.3
Python Path:
['.',
 '',
 '/usr/lib/python3.4',
 '/usr/lib/python3.4/plat-i386-linux-gnu',
 '/usr/lib/python3.4/lib-dynload',
 '/usr/local/lib/python3.4/dist-packages',
 '/usr/lib/python3/dist-packages',
 '/home/grothoff/lib/python3.4/site-packages']
Server time: Sat, 16 Apr 2016 18:00:39 +0000

Traceback Switch to copy-and-paste view

Request information

GET

Variable Value
amount_currency
'KUDOS'
amount_fraction
'0'
reserve_pub
'5WS3792CB5G05SD5MEMJ7X6HTHQW4PHZP71FME2WPZ06P89J3GDG'
exchange
'http://exchange/'
wire_details
('{"test":{"name":"The '
 'exchange","account_number":2,"bank_uri":"http://bank/","sig":"WK5JG0H0Q4ZZ8E13WQG9MQ21AE3FDFKJS4EC32EQZG4R8A2T69FKH33X1HMRQY5806JFWP4EGDZ5QM5W4RNRV64FQ8N6A4F4QK3M20R","salt":"PMP5A591ZQ77FCVS47JZ6DH1R0F8V1YKYK2HSX1T6H1MVXHVAVJTC71YY6WS054AAX917T8KQWJRX8HB4XZ5X9012S92ZD5BRQBTXT8","type":"test"}}')
amount_value
'20'

POST

No POST data

FILES

No FILES data

Variable Value
sessionid
'a77obcchhacyc8v0k5fqc77me4orzjxi'
csrftoken
'NOeEzQCqn8gdEoUtEZ8FXL6WgqVeTUDa'

META

Variable Value
wsgi.url_scheme
'http'
UWSGI_ROUTER
'http'
HTTP_USER_AGENT
('Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) '
 'Ubuntu Chromium/49.0.2623.108 Chrome/49.0.2623.108 Safari/537.36')
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
wsgi.file_wrapper
''
HTTP_COOKIE
('sessionid=a77obcchhacyc8v0k5fqc77me4orzjxi; '
 'csrftoken=NOeEzQCqn8gdEoUtEZ8FXL6WgqVeTUDa')
HTTP_CONNECTION
'close'
SERVER_PORT
'8001'
QUERY_STRING
'wire_details=%7B%22test%22%3A%7B%22name%22%3A%22The+exchange%22%2C%22account_number%22%3A2%2C%22bank_uri%22%3A%22http%3A%2F%2Fbank%2F%22%2C%22sig%22%3A%22WK5JG0H0Q4ZZ8E13WQG9MQ21AE3FDFKJS4EC32EQZG4R8A2T69FKH33X1HMRQY5806JFWP4EGDZ5QM5W4RNRV64FQ8N6A4F4QK3M20R%22%2C%22salt%22%3A%22PMP5A591ZQ77FCVS47JZ6DH1R0F8V1YKYK2HSX1T6H1MVXHVAVJTC71YY6WS054AAX917T8KQWJRX8HB4XZ5X9012S92ZD5BRQBTXT8%22%2C%22type%22%3A%22test%22%7D%7D&exchange=http%3A%2F%2Fexchange%2F&reserve_pub=5WS3792CB5G05SD5MEMJ7X6HTHQW4PHZP71FME2WPZ06P89J3GDG&amount_value=20&amount_fraction=0&amount_currency=KUDOS'
wsgi.multithread
False
uwsgi.node
b'firefly'
PATH_INFO
'/pin/question'
SERVER_PROTOCOL
'HTTP/1.0'
REMOTE_ADDR
'127.0.0.1'
wsgi.errors
<_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
uwsgi.version
b'2.0.12'
REQUEST_METHOD
'GET'
HTTP_HOST
'bank'
REMOTE_PORT
'29878'
wsgi.run_once
False
wsgi.version
(1, 0)
SCRIPT_NAME
''
SERVER_NAME
'firefly'
wsgi.multiprocess
False
HTTP_UPGRADE_INSECURE_REQUESTS
'1'
HTTP_ACCEPT_ENCODING
'gzip, deflate, sdch'
REQUEST_URI
'/pin/question?wire_details=%7B%22test%22%3A%7B%22name%22%3A%22The+exchange%22%2C%22account_number%22%3A2%2C%22bank_uri%22%3A%22http%3A%2F%2Fbank%2F%22%2C%22sig%22%3A%22WK5JG0H0Q4ZZ8E13WQG9MQ21AE3FDFKJS4EC32EQZG4R8A2T69FKH33X1HMRQY5806JFWP4EGDZ5QM5W4RNRV64FQ8N6A4F4QK3M20R%22%2C%22salt%22%3A%22PMP5A591ZQ77FCVS47JZ6DH1R0F8V1YKYK2HSX1T6H1MVXHVAVJTC71YY6WS054AAX917T8KQWJRX8HB4XZ5X9012S92ZD5BRQBTXT8%22%2C%22type%22%3A%22test%22%7D%7D&exchange=http%3A%2F%2Fexchange%2F&reserve_pub=5WS3792CB5G05SD5MEMJ7X6HTHQW4PHZP71FME2WPZ06P89J3GDG&amount_value=20&amount_fraction=0&amount_currency=KUDOS'
HTTP_ACCEPT_LANGUAGE
'en-US,en;q=0.8'
wsgi.input
<uwsgi._Input object at 0xb3a3d460>
CSRF_COOKIE
'NOeEzQCqn8gdEoUtEZ8FXL6WgqVeTUDa'

Settings

Using settings module talerbank.settings

Setting Value
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
DATABASE_ROUTERS
[]
LANGUAGE_COOKIE_PATH
'/'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
SECURE_CONTENT_TYPE_NOSNIFF
False
STATICFILES_DIRS
['/home/grothoff/lib/python3.4/site-packages/talerbank/app/static']
DEBUG
True
SESSION_COOKIE_SECURE
False
SESSION_COOKIE_DOMAIN
None
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.postgresql_psycopg2',
             'HOST': '',
             'NAME': 'talerbank',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': ''}}
MEDIA_URL
''
USE_THOUSAND_SEPARATOR
False
THOUSAND_SEPARATOR
','
INSTALLED_APPS
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'talerbank.app']
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
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']
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',
 'talerbank.app.middleware.ExpectedExceptionsMiddleware']
CSRF_TRUSTED_ORIGINS
[]
DEFAULT_CHARSET
'utf-8'
SECURE_BROWSER_XSS_FILTER
False
X_FRAME_OPTIONS
'SAMEORIGIN'
USE_X_FORWARDED_PORT
False
DECIMAL_SEPARATOR
'.'
EMAIL_USE_SSL
False
FILE_UPLOAD_PERMISSIONS
None
ROOT_URLCONF
'talerbank.urls'
SESSION_COOKIE_NAME
'sessionid'
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
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']
FILE_CHARSET
'utf-8'
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
CACHE_MIDDLEWARE_ALIAS
'default'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
MEDIA_ROOT
''
TIME_ZONE
'UTC'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
LOGGING
{}
SECURE_PROXY_SSL_HEADER
None
AUTHENTICATION_BACKENDS
['django.contrib.auth.backends.ModelBackend']
SESSION_COOKIE_PATH
'/'
TEMPLATE_DEBUG
False
TEMPLATE_DIRS
[]
DISALLOWED_USER_AGENTS
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
TEMPLATE_STRING_IF_INVALID
''
SHORT_DATE_FORMAT
'm/d/Y'
MANAGERS
[]
ALLOWED_HOSTS
[]
SECURE_REDIRECT_EXEMPT
[]
TEST_NON_SERIALIZED_APPS
[]
FIRST_DAY_OF_WEEK
0
PASSWORD_HASHERS
'********************'
MIGRATION_MODULES
{}
EMAIL_PORT
25
USE_ETAGS
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
LOGOUT_URL
'/accounts/logout/'
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
NUMBER_GROUPING
0
BASE_DIR
'/home/grothoff/lib/python3.4/site-packages'
LOGGING_CONFIG
'logging.config.dictConfig'
DEBUG_PROPAGATE_EXCEPTIONS
False
LOGIN_REDIRECT_URL
'/accounts/profile/'
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
CSRF_COOKIE_PATH
'/'
FIXTURE_DIRS
[]
LANGUAGES_BIDI
['he', 'ar', 'fa', 'ur']
TALER_PREDEFINED_ACCOUNTS
['Tor', 'GNUnet', 'Taler', 'FSF']
EMAIL_SUBJECT_PREFIX
'[Django] '
INTERNAL_IPS
[]
CACHE_MIDDLEWARE_SECONDS
600
LOCALE_PATHS
[]
EMAIL_SSL_KEYFILE
'********************'
STATIC_ROOT
'/tmp/talerbankstatic/'
USE_TZ
True
EMAIL_USE_TLS
False
SESSION_CACHE_ALIAS
'default'
EMAIL_HOST_USER
''
DEFAULT_CONTENT_TYPE
'text/html'
AUTH_PASSWORD_VALIDATORS
'********************'
STATIC_URL
'/static/'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
DEFAULT_TABLESPACE
''
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_DOMAIN
None
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']
PASSWORD_RESET_TIMEOUT_DAYS
'********************'
CSRF_COOKIE_NAME
'csrftoken'
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')]
SECURE_HSTS_SECONDS
0
DATETIME_FORMAT
'N j, Y, P'
DATE_FORMAT
'N j, Y'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
TIME_FORMAT
'P'
SHORT_DATETIME_FORMAT
'm/d/Y P'
USE_L10N
True
AUTH_USER_MODEL
'auth.User'
PREPEND_WWW
False
CSRF_COOKIE_AGE
31449600
WSGI_APPLICATION
'talerbank.wsgi.application'
SECURE_SSL_HOST
None
TALER_EXPECTS_DONATIONS
['Tor', 'GNUnet', 'Taler', 'FSF']
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SESSION_COOKIE_HTTPONLY
True
ALLOWED_INCLUDE_ROOTS
[]
TEMPLATE_LOADERS
['django.template.loaders.filesystem.Loader',
 'django.template.loaders.app_directories.Loader']
YEAR_MONTH_FORMAT
'F Y'
IGNORABLE_404_URLS
[]
SESSION_FILE_PATH
None
LANGUAGE_CODE
'en-us'
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']}}]
FILE_UPLOAD_TEMP_DIR
None
CSRF_COOKIE_SECURE
False
SECRET_KEY
'********************'
FORCE_SCRIPT_NAME
None
SILENCED_SYSTEM_CHECKS
[]
MONTH_DAY_FORMAT
'F j'
APPEND_SLASH
True
SETTINGS_MODULE
'talerbank.settings'
USE_X_FORWARDED_HOST
False
EMAIL_HOST_PASSWORD
'********************'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LOGIN_URL
'/accounts/login/'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'root@localhost'
LANGUAGE_COOKIE_NAME
'django_language'
ABSOLUTE_URL_OVERRIDES
{}
DEFAULT_INDEX_TABLESPACE
''
SESSION_COOKIE_AGE
1209600
USE_I18N
True
TALER_CURRENCY
'KUDOS'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
EMAIL_HOST
'localhost'
FORMAT_MODULE_PATH
None
EMAIL_SSL_CERTFILE
None
ADMINS
[]
SESSION_SAVE_EVERY_REQUEST
False
EMAIL_TIMEOUT
None

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.