'NoneType' object has no attribute 'startswith'
Request Method: | GET |
---|---|
Request URL: | http://www.milo38.ru/price/33/ |
Django Version: | 1.2.4 |
Exception Type: | AttributeError |
Exception Value: | 'NoneType' object has no attribute 'startswith' |
Exception Location: | /usr/lib64/python2.6/posixpath.py in join, line 65 |
Python Executable: | /usr/bin/python |
Python Version: | 2.6.4 |
Python Path: | ['/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/PIL', '/usr/lib64/portage/pym', '/usr/local/django', '/home/m/milo38/public_html/xapian/lib', '/home/m/milo38/public_html/xapian/site-packages', '/home/m/milo38/public_html'] |
Server time: | Wed, 20 Mar 2013 18:22:43 +0900 |
/home/m/milo38/public_html/django/core/handlers/base.py
in get_response
Variable | Value |
---|---|
callback | <function ProductDetail at 0xbf2d2a8> |
callback_args | (u'33',) |
callback_kwargs | {} |
e | AttributeError("'NoneType' object has no attribute 'startswith'",) |
exceptions | <module 'django.core.exceptions' from '/home/m/milo38/public_html/django/core/exceptions.pyc'> |
middleware_method | <bound method XViewMiddleware.process_view of <django.middleware.doc.XViewMiddleware object at 0xb8f23d0>> |
receivers | [(<function _rollback_on_exception at 0xb97bde8>, None)] |
request | <WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'sessionid': '655cf7130024cef122bcb5e16c276852'},
META:{'DOCUMENT_ROOT': '/home/m/milo38/public_html',
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT': 'image/png, image/jpeg, image/pjpeg, image/x-xbitmap, image/svg+xml, image/gif;q=0.9, */*;q=0.1',
'HTTP_ACCEPT_CHARSET': 'iso-8859-1, iso-8859-*;q=0.9, utf-8;q=0.66, *;q=0.33',
'HTTP_ACCEPT_ENCODING': 'gzip, identity;q=0.9',
'HTTP_ACCEPT_LANGUAGE': 'en, *',
'HTTP_CONNECTION': 'close',
'HTTP_COOKIE': '$Version=1; sessionid=655cf7130024cef122bcb5e16c276852; $Path=/',
'HTTP_HOST': 'www.milo38.ru',
'HTTP_REFERER': 'http://www.milo38.ru/cat/0/?page=2&by=10',
'HTTP_USER_AGENT': 'Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)',
'HTTP_X_FORWARDED_FOR': '85.17.226.161',
'HTTP_X_REAL_IP': '85.17.226.161',
'PATH_INFO': u'/price/33/',
'PATH_TRANSLATED': 'redirect:/index.wsgi/price/33//',
'QUERY_STRING': '',
'REDIRECT_STATUS': '200',
'REDIRECT_URL': '/price/33/',
'REMOTE_ADDR': '85.17.226.161',
'REMOTE_PORT': '37311',
'REQUEST_METHOD': 'GET',
'REQUEST_URI': '/price/33/',
'SCRIPT_FILENAME': '/home/m/milo38/public_html/index.wsgi',
'SCRIPT_NAME': u'',
'SERVER_ADDR': '127.0.0.1',
'SERVER_ADMIN': 'support@timeweb.ru',
'SERVER_NAME': 'www.milo38.ru',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.0',
'SERVER_SIGNATURE': '',
'SERVER_SOFTWARE': 'Apache/2.2.17',
'mod_wsgi.application_group': 'milo38.ru|/index.wsgi',
'mod_wsgi.callable_object': 'application',
'mod_wsgi.handler_script': '',
'mod_wsgi.input_chunked': '0',
'mod_wsgi.listener_host': '127.0.0.1',
'mod_wsgi.listener_port': '80',
'mod_wsgi.process_group': '',
'mod_wsgi.request_handler': 'wsgi-script',
'mod_wsgi.script_reloading': '1',
'mod_wsgi.version': (3, 3),
'wsgi.errors': <mod_wsgi.Log object at 0xb687d30>,
'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0xb2e0f30>,
'wsgi.input': <mod_wsgi.Input object at 0xb687cf0>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 1)}> |
resolver | <RegexURLResolver milo38.urls (None:None) ^/> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0xb687c90> |
settings | <django.conf.LazySettings object at 0xb63f290> |
urlconf | 'milo38.urls' |
urlresolvers | <module 'django.core.urlresolvers' from '/home/m/milo38/public_html/django/core/urlresolvers.pyc'> |
/home/m/milo38/public_html/milo38/price/views.py
in ProductDetail
Variable | Value |
---|---|
breadcrumbs | [{'link': '/cat/', 'name': u'\u041a\u0430\u0442\u0430\u043b\u043e\u0433'}] |
cat | <Rubrics: КАТАЛОГ> |
id_price | u'33' |
new_path | 'prices/1' |
path | 'prices' |
price | <Products: > |
request | <WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'sessionid': '655cf7130024cef122bcb5e16c276852'},
META:{'DOCUMENT_ROOT': '/home/m/milo38/public_html',
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT': 'image/png, image/jpeg, image/pjpeg, image/x-xbitmap, image/svg+xml, image/gif;q=0.9, */*;q=0.1',
'HTTP_ACCEPT_CHARSET': 'iso-8859-1, iso-8859-*;q=0.9, utf-8;q=0.66, *;q=0.33',
'HTTP_ACCEPT_ENCODING': 'gzip, identity;q=0.9',
'HTTP_ACCEPT_LANGUAGE': 'en, *',
'HTTP_CONNECTION': 'close',
'HTTP_COOKIE': '$Version=1; sessionid=655cf7130024cef122bcb5e16c276852; $Path=/',
'HTTP_HOST': 'www.milo38.ru',
'HTTP_REFERER': 'http://www.milo38.ru/cat/0/?page=2&by=10',
'HTTP_USER_AGENT': 'Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)',
'HTTP_X_FORWARDED_FOR': '85.17.226.161',
'HTTP_X_REAL_IP': '85.17.226.161',
'PATH_INFO': u'/price/33/',
'PATH_TRANSLATED': 'redirect:/index.wsgi/price/33//',
'QUERY_STRING': '',
'REDIRECT_STATUS': '200',
'REDIRECT_URL': '/price/33/',
'REMOTE_ADDR': '85.17.226.161',
'REMOTE_PORT': '37311',
'REQUEST_METHOD': 'GET',
'REQUEST_URI': '/price/33/',
'SCRIPT_FILENAME': '/home/m/milo38/public_html/index.wsgi',
'SCRIPT_NAME': u'',
'SERVER_ADDR': '127.0.0.1',
'SERVER_ADMIN': 'support@timeweb.ru',
'SERVER_NAME': 'www.milo38.ru',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.0',
'SERVER_SIGNATURE': '',
'SERVER_SOFTWARE': 'Apache/2.2.17',
'mod_wsgi.application_group': 'milo38.ru|/index.wsgi',
'mod_wsgi.callable_object': 'application',
'mod_wsgi.handler_script': '',
'mod_wsgi.input_chunked': '0',
'mod_wsgi.listener_host': '127.0.0.1',
'mod_wsgi.listener_port': '80',
'mod_wsgi.process_group': '',
'mod_wsgi.request_handler': 'wsgi-script',
'mod_wsgi.script_reloading': '1',
'mod_wsgi.version': (3, 3),
'wsgi.errors': <mod_wsgi.Log object at 0xb687d30>,
'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0xb2e0f30>,
'wsgi.input': <mod_wsgi.Input object at 0xb687cf0>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 1)}> |
/usr/lib64/python2.6/posixpath.py
in join
Variable | Value |
---|---|
a | 'prices' |
b | None |
p | ('8', None) |
path | 'prices/8' |
No GET data
No POST data
No FILES data
Variable | Value |
---|---|
sessionid | '655cf7130024cef122bcb5e16c276852' |
Variable | Value |
---|---|
DOCUMENT_ROOT | '/home/m/milo38/public_html' |
GATEWAY_INTERFACE | 'CGI/1.1' |
HTTP_ACCEPT | 'image/png, image/jpeg, image/pjpeg, image/x-xbitmap, image/svg+xml, image/gif;q=0.9, */*;q=0.1' |
HTTP_ACCEPT_CHARSET | 'iso-8859-1, iso-8859-*;q=0.9, utf-8;q=0.66, *;q=0.33' |
HTTP_ACCEPT_ENCODING | 'gzip, identity;q=0.9' |
HTTP_ACCEPT_LANGUAGE | 'en, *' |
HTTP_CONNECTION | 'close' |
HTTP_COOKIE | '$Version=1; sessionid=655cf7130024cef122bcb5e16c276852; $Path=/' |
HTTP_HOST | 'www.milo38.ru' |
HTTP_REFERER | 'http://www.milo38.ru/cat/0/?page=2&by=10' |
HTTP_USER_AGENT | 'Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)' |
HTTP_X_FORWARDED_FOR | '85.17.226.161' |
HTTP_X_REAL_IP | '85.17.226.161' |
PATH_INFO | u'/price/33/' |
PATH_TRANSLATED | 'redirect:/index.wsgi/price/33//' |
QUERY_STRING | '' |
REDIRECT_STATUS | '200' |
REDIRECT_URL | '/price/33/' |
REMOTE_ADDR | '85.17.226.161' |
REMOTE_PORT | '37311' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/price/33/' |
SCRIPT_FILENAME | '/home/m/milo38/public_html/index.wsgi' |
SCRIPT_NAME | u'' |
SERVER_ADDR | '127.0.0.1' |
SERVER_ADMIN | 'support@timeweb.ru' |
SERVER_NAME | 'www.milo38.ru' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SIGNATURE | '' |
SERVER_SOFTWARE | 'Apache/2.2.17' |
mod_wsgi.application_group | 'milo38.ru|/index.wsgi' |
mod_wsgi.callable_object | 'application' |
mod_wsgi.handler_script | '' |
mod_wsgi.input_chunked | '0' |
mod_wsgi.listener_host | '127.0.0.1' |
mod_wsgi.listener_port | '80' |
mod_wsgi.process_group | '' |
mod_wsgi.request_handler | 'wsgi-script' |
mod_wsgi.script_reloading | '1' |
mod_wsgi.version | (3, 3) |
wsgi.errors | <mod_wsgi.Log object at 0xb687d30> |
wsgi.file_wrapper | <built-in method file_wrapper of mod_wsgi.Adapter object at 0xb2e0f30> |
wsgi.input | <mod_wsgi.Input object at 0xb687cf0> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 1) |
milo38.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | (('Jocker', 'zergo01@yandex.ru'),) |
ADMIN_FOR | () |
ADMIN_MEDIA_PREFIX | '/admin_media/' |
ALLOWED_INCLUDE_ROOTS | () |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('auth.auth_backends.CustomUserModelBackend',
'django.contrib.auth.backends.ModelBackend') |
BANNED_IPS | () |
CACHE_BACKEND | 'locmem://' |
CACHE_MIDDLEWARE_KEY_PREFIX | '' |
CACHE_MIDDLEWARE_SECONDS | 600 |
COMMENTS_ALLOW_PROFANITIES | False |
COMMENTS_BANNED_USERS_GROUP | None |
COMMENTS_FIRST_FEW | 0 |
COMMENTS_MODERATORS_GROUP | None |
COMMENTS_SKETCHY_USERS_GROUP | None |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CUSTOM_USER_MODEL | 'auth.customUser' |
DATABASES | {'default': {'ENGINE': 'django.db.backends.mysql',
'HOST': '',
'NAME': 'milo38_shop',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '',
'TEST_CHARSET': None,
'TEST_COLLATION': None,
'TEST_MIRROR': None,
'TEST_NAME': None,
'TIME_ZONE': 'Asia/Irkutsk',
'USER': 'milo38_shop'}} |
DATABASE_ENGINE | 'mysql' |
DATABASE_HOST | '' |
DATABASE_NAME | 'milo38_shop' |
DATABASE_OPTIONS | {} |
DATABASE_PASSWORD | '********************' |
DATABASE_PORT | '' |
DATABASE_ROUTERS | [] |
DATABASE_USER | 'milo38_shop' |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M',
'%m/%d/%y') |
DATE_FORMAT | 'N j, Y' |
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') |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | () |
DJAPIAN_DATABASE_PATH | '/home/m/milo38/public_html/milo38/djapian_base' |
DJAPIAN_STEMMING_LANG | 'ru' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.timeweb.ru' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'admin@milo38.ru' |
EMAIL_PORT | 25 |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_USE_TLS | False |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_HANDLERS | ('django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler') |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | () |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
IGNORABLE_404_ENDS | ('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php') |
IGNORABLE_404_STARTS | ('/cgi-bin/', '/_vti_bin', '/_vti_inf') |
INSTALLED_APPS | ['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'djapian',
'auth',
'wiki',
'messages',
'flatpages',
'history',
'main_functions',
'catalogue',
'price',
'slider',
'milo38.main',
'milo38.cat',
'milo38.shop'] |
INTERNAL_IPS | () |
LANGUAGES | (('ar', 'Arabic'),
('bg', 'Bulgarian'),
('bn', 'Bengali'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('el', 'Greek'),
('en', 'English'),
('en-gb', 'British English'),
('es', 'Spanish'),
('es-ar', 'Argentinian 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'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('nl', 'Dutch'),
('no', 'Norwegian'),
('nb', 'Norwegian Bokmal'),
('nn', 'Norwegian Nynorsk'),
('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'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('uk', 'Ukrainian'),
('vi', 'Vietnamese'),
('zh-cn', 'Simplified Chinese'),
('zh-tw', 'Traditional Chinese')) |
LANGUAGES_BIDI | ('he', 'ar', 'fa') |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_NAME | 'django_language' |
LOCALE_PATHS | () |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/auth/' |
LOGOUT_URL | '/accounts/logout/' |
MANAGERS | (('Jocker', 'zergo01@yandex.ru'),) |
MEDIA_ROOT | '/home/m/milo38/public_html/milo38/media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage' |
MIDDLEWARE_CLASSES | ('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware') |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PROFANITIES_LIST | '********************' |
ROOT_URLCONF | 'milo38.urls' |
SECRET_KEY | '********************' |
SEND_BROKEN_LINK_EMAILS | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SETTINGS_MODULE | 'milo38.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
STATIC_ROOT | '/home/m/milo38/public_html/static' |
STYLES | ('styles.css',) |
TEMPLATE_CONTEXT_PROCESSORS | ('django.core.context_processors.auth',
'django.core.context_processors.request',
'main_functions.functions.get_app') |
TEMPLATE_DEBUG | False |
TEMPLATE_DIRS | ('/home/m/milo38/public_html/milo38/templates',) |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source') |
TEMPLATE_STRING_IF_INVALID | '' |
TEST_DATABASE_CHARSET | None |
TEST_DATABASE_COLLATION | None |
TEST_DATABASE_NAME | None |
TEST_RUNNER | 'django.test.simple.DjangoTestSuiteRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ('%H:%M:%S', '%H:%M') |
TIME_ZONE | 'Asia/Irkutsk' |
TRANSACTIONS_MANAGED | False |
URL_VALIDATOR_USER_AGENT | 'Django/1.2.4 (http://www.djangoproject.com)' |
USE_ETAGS | False |
USE_I18N | True |
USE_L10N | False |
USE_THOUSAND_SEPARATOR | False |
YEAR_MONTH_FORMAT | 'F Y' |
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.