nickrsan / vote-climate-change

0 stars 0 forks source link

Pledging support led to an error message #5

Closed nickrsan closed 11 years ago

nickrsan commented 11 years ago

Original report by Anonymous.


I attempted to pledge support for Ed Case without uploading an image. Was directed to an error page with the text pasted below. Name of candidate and pledge did end up being displayed.

TypeError at /publish/

object of type 'candidate' has no len()

Request Method: GET Request URL: http://voteclimatechange.com/publish/?support_style=I+support&candidate=Ed+Case&candidate_id=&person_name=Neal&state=Hawaii&style_id=1&extra_text=Unfortunately%2C+he+didn%27t+get+past+the+primary.&image_location=&submit=Save Django Version: 1.4.2 Exception Type: TypeError Exception Value:

object of type 'candidate' has no len()

Exception Location: /home/voteclimatechange/voteclimatechange.com/voteclimate/utils.py in find_or_make_candidate, line 234 Python Executable: /home/voteclimatechange/local/python-2.7.3/bin/python2.7 Python Version: 2.7.3 Python Path:

['/usr/local/dh/passenger/lib/phusion_passenger/wsgi', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg', '/home/voteclimatechange/local/python-2.7.3/lib/python27.zip', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/plat-linux2', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/lib-tk', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/lib-old', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/lib-dynload', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages', '/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/PIL', '/home/voteclimatechange/voteclimatechange.com']

Server time: Tue, 23 Oct 2012 15:30:45 -0700 Traceback Switch to copy-and-paste view

/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/django/core/handlers/base.py in get_response

                            response = callback(request, *callback_args, **callback_kwargs)

    ...
▶ Local vars
/home/voteclimatechange/voteclimatechange.com/voteclimate/views.py in add_statement

        if statement_form.is_valid():

    ...
▶ Local vars
/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/django/forms/forms.py in is_valid

            return self.is_bound and not bool(self.errors)

    ...
▶ Local vars
/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/django/forms/forms.py in _get_errors

                self.full_clean()

    ...
▶ Local vars
/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/django/forms/forms.py in full_clean

            self._clean_form()

    ...
▶ Local vars
/home/voteclimatechange/local/python-2.7.3/lib/python2.7/site-packages/django/forms/forms.py in _clean_form

                self.cleaned_data = self.clean()

    ...
▶ Local vars
/home/voteclimatechange/voteclimatechange.com/voteclimate/models.py in clean

                        cleaned_data['candidate'] = utils.find_or_make_candidate(cleaned_data['candidate'],cleaned_data['user_object'])

    ...
▶ Local vars
/home/voteclimatechange/voteclimatechange.com/voteclimate/utils.py in find_or_make_candidate

            if candidate_object is None or len(candidate_object) == 0:

    ...
▶ Local vars

Request information GET Variable Value image_location

u''

support_style

u'I support'

submit

u'Save'

person_name

u'Neal'

candidate

u'Ed Case'

style_id

u'1'

extra_text

u"Unfortunately, he didn't get past the primary."

state

u'Hawaii'

candidate_id

u''

POST

No POST data FILES

No FILES data COOKIES

No cookie data META Variable Value wsgi.multiprocess

True

HTTP_REFERER

'http://voteclimatechange.com/'

SERVER_SOFTWARE

'Apache'

SCRIPT_NAME

u''

REQUEST_METHOD

'GET'

PATH_INFO

u'/publish/'

SERVER_PROTOCOL

'HTTP/1.1'

QUERY_STRING

'support_style=I+support&candidate=Ed+Case&candidate_id=&person_name=Neal&state=Hawaii&style_id=1&extra_text=Unfortunately%2C+he+didn%27t+get+past+the+primary.&image_location=&submit=Save'

HTTP_ACCEPT_CHARSET

'ISO-8859-1,utf-8;q=0.7,*;q=0.7'

HTTP_USER_AGENT

'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20100101 Firefox/9.0'

HTTP_CONNECTION

'keep-alive'

SERVER_NAME

'voteclimatechange.com'

REMOTE_ADDR

'128.83.146.34'

wsgi.url_scheme

'http'

SERVER_PORT

'80'

PASSENGER_CONNECT_PASSWORD

'Yk3nqUaIiXVvyARfhGvYAC2bzZ4mo4J4bSB0CAx8hru'

SERVER_ADDR

'173.236.166.76'

DOCUMENT_ROOT

'/home/voteclimatechange/voteclimatechange.com/public'

SERVER_ADMIN

'webmaster@voteclimatechange.com'

SCRIPT_URI

'http://voteclimatechange.com/publish/'

wsgi.input

<socket._fileobject object at 0x193e850>

HTTP_HOST

'voteclimatechange.com'

SCRIPT_URL

'/publish/'

wsgi.multithread

False

ds_id_21468832

''

_

'_'

REQUEST_URI

'/publish/?support_style=I+support&candidate=Ed+Case&candidate_id=&person_name=Neal&state=Hawaii&style_id=1&extra_text=Unfortunately%2C+he+didn%27t+get+past+the+primary.&image_location=&submit=Save'

HTTP_ACCEPT

'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8'

wsgi.version

(1, 0)

wsgi.run_once

True

CSRF_COOKIE

'2FXqKUJek3nvmdGeUQMJyjY0ijgSz1bN'

wsgi.errors

<open file '', mode 'w' at 0x67f1f4336270>

REMOTE_PORT

'49954'

HTTP_ACCEPT_LANGUAGE

'en-us,en;q=0.5'

GEM_HOME

'/home/voteclimatechange/.gems'

dsid

'21468832'

HTTP_ACCEPT_ENCODING

'gzip, deflate'

UNIQUE_ID

'UIcalEWj7-IAAK1s5cUAAAAD'

DH_USER

'voteclimatechange'

Settings Using settings module vote_climate.settings Setting Value USE_L10N

True

USE_THOUSAND_SEPARATOR

False

CSRF_COOKIE_SECURE

False

LANGUAGE_CODE

'en-us'

ROOT_URLCONF

'vote_climate.urls'

MANAGERS

()

DEFAULT_CHARSET

'utf-8'

STATIC_ROOT

'/home/voteclimatechange/voteclimatechange.com/static/collected'

MESSAGE_STORAGE

'django.contrib.messages.storage.fallback.FallbackStorage'

EMAIL_SUBJECT_PREFIX

'[Django] '

FILE_UPLOAD_PERMISSIONS

None

URL_VALIDATOR_USER_AGENT

'Django/1.4.2 (https://www.djangoproject.com)'

STATICFILES_FINDERS

('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')

SESSION_COOKIE_DOMAIN

None

SESSION_COOKIE_NAME

'sessionid'

ADMIN_FOR

()

TIME_INPUT_FORMATS

('%H:%M:%S', '%H:%M')

DATABASES

{'default': {'ENGINE': 'django.db.backends.mysql', 'HOST': 'sql.voteclimatechange.com', 'NAME': 'voteclimate', 'OPTIONS': {}, 'PASSWORD': u'****', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'UTC', 'USER': 'voteclimate_db_u'}}

SERVER_EMAIL

'root@localhost'

FILE_UPLOAD_HANDLERS

('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')

DEFAULT_CONTENT_TYPE

'text/html'

APPEND_SLASH

True

FIRST_DAY_OF_WEEK

0

DATABASE_ROUTERS

[]

YEAR_MONTH_FORMAT

'F Y'

STATICFILES_STORAGE

'django.contrib.staticfiles.storage.StaticFilesStorage'

CACHES

{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ''}}

SESSION_COOKIE_PATH

'/'

USE_X_FORWARDED_HOST

False

MIDDLEWARE_CLASSES

('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware')

USE_I18N

True

THOUSAND_SEPARATOR

','

SECRET_KEY

u'****'

LANGUAGE_COOKIE_NAME

'django_language'

DEFAULT_INDEX_TABLESPACE

''

TRANSACTIONS_MANAGED

False

LOGGING_CONFIG

'django.utils.log.dictConfig'

SEND_BROKEN_LINK_EMAILS

False

TEMPLATE_LOADERS

('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')

WSGI_APPLICATION

'vote_climate.wsgi.application'

TEMPLATE_DEBUG

True

X_FRAME_OPTIONS

'SAMEORIGIN'

AUTHENTICATION_BACKENDS

('django.contrib.auth.backends.ModelBackend',)

FORCE_SCRIPT_NAME

None

CACHE_BACKEND

'locmem://'

SIGNING_BACKEND

'django.core.signing.TimestampSigner'

SESSION_COOKIE_SECURE

False

CSRF_COOKIE_DOMAIN

None

FILE_CHARSET

'utf-8'

DEBUG

True

SESSION_FILE_PATH

None

DEFAULT_FILE_STORAGE

'django.core.files.storage.FileSystemStorage'

INSTALLED_APPS

('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'voteclimate')

LANGUAGES

(('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('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'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese'))

COMMENTS_ALLOW_PROFANITIES

False

STATICFILES_DIRS

('/home/voteclimatechange/voteclimatechange.com/public/static', '/home/voteclimatechange/voteclimatechange.com/static', '/home/voteclimatechange/voteclimatechange.com/static/media')

PREPEND_WWW

False

SECURE_PROXY_SSL_HEADER

None

SESSION_COOKIE_HTTPONLY

True

DEBUG_PROPAGATE_EXCEPTIONS

False

MONTH_DAY_FORMAT

'F j'

LOGIN_URL

'/accounts/login/'

SESSION_EXPIRE_AT_BROWSER_CLOSE

False

TIME_FORMAT

'P'

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')

CSRF_COOKIE_NAME

'csrftoken'

EMAIL_HOST_PASSWORD

u'****'

PASSWORD_RESET_TIMEOUT_DAYS

u'****'

CACHE_MIDDLEWARE_ALIAS

'default'

SESSION_SAVE_EVERY_REQUEST

False

NUMBER_GROUPING

0

SESSION_ENGINE

'django.contrib.sessions.backends.db'

CSRF_FAILURE_VIEW

'django.views.csrf.csrf_failure'

CSRF_COOKIE_PATH

'/'

LOGIN_REDIRECT_URL

'/accounts/profile/'

LOGGING

{'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'loggers': {'django.request': {'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True}}, 'version': 1}

IGNORABLE_404_URLS

()

LOCALE_PATHS

()

TEMPLATE_STRING_IF_INVALID

''

LOGOUT_URL

'/accounts/logout/'

EMAIL_USE_TLS

False

FIXTURE_DIRS

()

EMAIL_HOST

'localhost'

DATE_FORMAT

'N j, Y'

MEDIA_ROOT

'/home/voteclimatechange/voteclimatechange.com/static/media'

DEFAULT_EXCEPTION_REPORTER_FILTER

'django.views.debug.SafeExceptionReporterFilter'

ADMINS

()

FORMAT_MODULE_PATH

None

DEFAULT_FROM_EMAIL

'webmaster@localhost'

MEDIA_URL

'/static/media/'

DATETIME_FORMAT

'N j, Y, P'

TEMPLATE_DIRS

('/home/voteclimatechange/voteclimatechange.com/templates', 'C:/Users/Nick/Eclipse/workspace-main/voteclimate/vote_climate/templates')

SITE_ID

1

DISALLOWED_USER_AGENTS

()

ALLOWED_INCLUDE_ROOTS

()

DECIMAL_SEPARATOR

'.'

SHORT_DATE_FORMAT

'm/d/Y'

TEST_RUNNER

'django.test.simple.DjangoTestSuiteRunner'

CACHE_MIDDLEWARE_KEY_PREFIX

u'****'

TIME_ZONE

'America/Los_Angeles'

FILE_UPLOAD_MAX_MEMORY_SIZE

2621440

EMAIL_BACKEND

'django.core.mail.backends.smtp.EmailBackend'

DEFAULT_TABLESPACE

''

TEMPLATE_CONTEXT_PROCESSORS

('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'django.contrib.messages.context_processors.messages')

SITE_NAME

'Vote Climate Change'

SESSION_COOKIE_AGE

1209600

SETTINGS_MODULE

'vote_climate.settings'

USE_ETAGS

False

LANGUAGES_BIDI

('he', 'ar', 'fa')

FILE_UPLOAD_TEMP_DIR

None

INTERNAL_IPS

()

STATIC_URL

'/static/'

EMAIL_PORT

25

USE_TZ

True

SHORT_DATETIME_FORMAT

'm/d/Y P'

PASSWORD_HASHERS

u'****'

ABSOLUTE_URL_OVERRIDES

{}

CACHE_MIDDLEWARE_SECONDS

600

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')

EMAIL_HOST_USER

''

PROFANITIES_LIST

u'****'

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 500 page.

nickrsan commented 11 years ago

Original comment by Nicholas Santos (Bitbucket: nickrsan, GitHub: nickrsan).


Thanks Neal. Good find. I believe now that this isn't just related to support, it's related to looking up a candidate if one isn't selected from the autocomplete options. I'll fix this today.

nickrsan commented 11 years ago

Original comment by Nicholas Santos (Bitbucket: nickrsan, GitHub: nickrsan).


I believe this is solved now