Product matching query does not exist.
Request Method: | GET |
---|---|
Request URL: | http://www.raymonbio.com/en/product_detail.html?id=411 |
Django Version: | 1.9.6 |
Exception Type: | DoesNotExist |
Exception Value: | Product matching query does not exist. |
Exception Location: | /usr/local/lib/python2.7/dist-packages/django/db/models/query.py in get, line 387 |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 2.7.6 |
Python Path: | ['.', '', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] |
Server time: | 星期四, 28 三月 2024 11:30:51 +0000 |
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py
in get_response
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)
except Exception as e:
response = self.process_exception_by_middleware(e, request)...
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
view_name = callback.__name__
else: # CBV
Variable | Value |
---|---|
e | DoesNotExist('Product matching query does not exist.',) |
callback_args | () |
resolver_match | ResolverMatch(func=ncweb.views.en_productDetail, args=(), kwargs={}, url_name=en_productDetail, app_names=[], namespaces=[]) |
response_is_rendered | False |
middleware_method | <bound method MessageMiddleware.process_request of <django.contrib.messages.middleware.MessageMiddleware object at 0x7f23690f5210>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f236a4900d0> |
request | <WSGIRequest: GET '/en/product_detail.html?id=411'> |
callback | <function en_productDetail at 0x7f23690898c0> |
wrapped_callback | <function en_productDetail at 0x7f23690898c0> |
resolver | <RegexURLResolver 'nc_server.urls' (None:None) ^/> |
callback_kwargs | {} |
response | None |
urlconf | 'nc_server.urls' |
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py
in get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)...
except Exception as e:
response = self.process_exception_by_middleware(e, request)
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
Variable | Value |
---|---|
e | DoesNotExist('Product matching query does not exist.',) |
callback_args | () |
resolver_match | ResolverMatch(func=ncweb.views.en_productDetail, args=(), kwargs={}, url_name=en_productDetail, app_names=[], namespaces=[]) |
response_is_rendered | False |
middleware_method | <bound method MessageMiddleware.process_request of <django.contrib.messages.middleware.MessageMiddleware object at 0x7f23690f5210>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f236a4900d0> |
request | <WSGIRequest: GET '/en/product_detail.html?id=411'> |
callback | <function en_productDetail at 0x7f23690898c0> |
wrapped_callback | <function en_productDetail at 0x7f23690898c0> |
resolver | <RegexURLResolver 'nc_server.urls' (None:None) ^/> |
callback_kwargs | {} |
response | None |
urlconf | 'nc_server.urls' |
./ncweb/views.py
in en_productDetail
page_range = page_range[0:int(page)+befor_range_num]
return render_to_response('en/products.html', {"products": products, "page_range":page_range})
def en_productDetail(request):
id = int( request.GET.get('id', 0) )
if id:
return render_to_response('en/product-detail.html', {"product": Product.objects.get(id=id)})...
def en_special_products(request):
product_list = Product.objects.filter(hot=True)
paginator = Paginator(product_list, 20)
Variable | Value |
---|---|
request | <WSGIRequest: GET '/en/product_detail.html?id=411'> |
id | 411 |
/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py
in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)...
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
# Refs http://bugs.python.org/issue1785.
Variable | Value |
---|---|
self | <django.db.models.manager.Manager object at 0x7f23691b0510> |
args | () |
name | 'get' |
kwargs | {'id': 411} |
/usr/local/lib/python2.7/dist-packages/django/db/models/query.py
in get
clone = clone.order_by()
num = len(clone)
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(
"%s matching query does not exist." %
self.model._meta.object_name...
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!" %
(self.model._meta.object_name, num)
)
Variable | Value |
---|---|
clone | [] |
num | 0 |
self | [<Product: 磷酸三乙酯, Triethyl Phosphate, 78-40-0>, <Product: 2-氨基-4-羟基-6-(三氟甲基)嘧啶, 2-Amino-4-hydroxy-6-(trifluoromethyl)pyrimidine, 1513-69-5>, <Product: 2-肼基-4,6-二甲基嘧啶, 2-Hydrazino-4,6-dimethylpyrimidine, 23906-13-0>, <Product: 2-氯-4-三氟甲基嘧啶, 2-Chloro-4-(trifluoromethyl)pyrimidine, 33034-67-2>, <Product: 2-氯嘧啶, 2-Chloropyrimidine, 1722-12-9>, <Product: 2-氰基嘧啶, 2-Cyanopyrimidine, 14080-23-0>, <Product: 2-巯基-4,6-二甲氧基嘧啶, 2-Mercapto-4,6-dimethoxypyrimidine, 57235-35-5>, <Product: 4,6-二甲基-2-羟基嘧啶, 4,6-Dimethyl-2-hydroxypyrimidine, 108-79-2>, <Product: 4,6-二氯-5-氟嘧啶, 4,6-Dichloro-5-fluoropyrimidine, 213265-83-9>, <Product: 4-羟基-6-三氟甲基嘧啶, 4-Hydroxy-6-(trifluoromethyl)pyrimidine, 1546-78-7>, <Product: 2-肼基嘧啶, 2-hydrazinopyrimidine, 7504-94-1>, <Product: 2,4-二氯-5-氟嘧啶, 2,4-Dichloro-5-fluoropyrimidine, 2927-71-1>, <Product: 6-氯-1-己醇, 6-Chlorohexanol, 2009-83-8>, <Product: 2-甲基-1,4,5,6-四氢咪唑并[4,5-d][1]苯并氮杂卓, 2-Methyl-1,4,5,6-tetrahydroimidazo[4,5-d][1]benzazepine, 318237-73-9>, <Product: 2-硝基-5-氯吡啶, 5-Chloro-2-nitropyridine, 52092-47-4>, <Product: 硼酸三丁酯, TRIBUTYL BORATE, 688-74-4>, <Product: 2-氨基-5-三氟甲基-1,3,4-噻二唑, 2-AMINO-5-TRIFLUOROMETHYL-1,3,4-THIADIAZOLE, 10444-89-0>, <Product: 2-氯萘, 2-CHLORONAPHTHALENE, 91-58-7>, <Product: 3-氟肉桂酸, 3-Fluorocinnamic acid, 20595-30-6>, <Product: 2-氯-6-氟苯酚, 2-Chloro-6-fluorophenol, 2040-90-6>, '...(remaining elements truncated)...'] |
args | () |
kwargs | {'id': 411} |
Variable | Value |
---|---|
id | u'411' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
wsgi.multiprocess | True |
SCRIPT_NAME | u'' |
REQUEST_METHOD | 'GET' |
PATH_INFO | u'/en/product_detail.html' |
SERVER_PROTOCOL | 'HTTP/1.1' |
QUERY_STRING | 'id=411' |
CONTENT_LENGTH | '' |
HTTP_USER_AGENT | 'claudebot' |
SERVER_NAME | 'raymonbio.com' |
REMOTE_ADDR | '44.221.46.132' |
wsgi.url_scheme | 'http' |
SERVER_PORT | '80' |
uwsgi.node | 'iZ628mit31jZ' |
DOCUMENT_ROOT | '/etc/nginx/html' |
wsgi.input | <uwsgi._Input object at 0x7f2368fe1978> |
HTTP_HOST | 'www.raymonbio.com' |
wsgi.multithread | False |
REQUEST_URI | '/en/product_detail.html?id=411' |
HTTP_ACCEPT | '*/*' |
wsgi.version | (1, 0) |
wsgi.run_once | False |
wsgi.errors | <open file 'wsgi_errors', mode 'w' at 0x7f23691bdc00> |
REMOTE_PORT | '57780' |
REQUEST_SCHEME | 'http' |
uwsgi.version | '2.0.12' |
CONTENT_TYPE | '' |
wsgi.file_wrapper | '' |
nc_server.settings
Setting | Value |
---|---|
SECURE_BROWSER_XSS_FILTER | False |
USE_X_FORWARDED_PORT | False |
USE_THOUSAND_SEPARATOR | False |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'zh-Hans' |
ROOT_URLCONF | 'nc_server.urls' |
MANAGERS | [] |
BASE_DIR | '/var/www/nc_server' |
SILENCED_SYSTEM_CHECKS | [] |
DEFAULT_CHARSET | 'utf-8' |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
STATIC_ROOT | '/var/www/nc_server/static' |
ALLOWED_HOSTS | ['*'] |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
SERVER_EMAIL | 'root@localhost' |
SECURE_HSTS_SECONDS | 0 |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
SECURE_REDIRECT_EXEMPT | [] |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': '/var/www/nc_server/db.sqlite3', 'OPTIONS': {}, 'PASSWORD': u'********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} |
EMAIL_SSL_KEYFILE | u'********************' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
DEFAULT_CONTENT_TYPE | 'text/html' |
APPEND_SLASH | True |
LOCALE_PATHS | [] |
DATABASE_ROUTERS | [] |
DEFAULT_TABLESPACE | '' |
YEAR_MONTH_FORMAT | 'F Y' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
SESSION_COOKIE_PATH | '/' |
EMAIL_HOST_PASSWORD | u'********************' |
SECURE_CONTENT_TYPE_NOSNIFF | False |
MIDDLEWARE_CLASSES | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
DEFAULT_INDEX_TABLESPACE | '' |
LOGGING_CONFIG | 'logging.config.dictConfig' |
TEMPLATE_LOADERS | ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader'] |
FIRST_DAY_OF_WEEK | 0 |
WSGI_APPLICATION | 'nc_server.wsgi.application' |
TEMPLATE_DEBUG | False |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
CSRF_COOKIE_NAME | 'csrftoken' |
FORCE_SCRIPT_NAME | None |
USE_X_FORWARDED_HOST | False |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
EMAIL_TIMEOUT | None |
SECURE_SSL_HOST | None |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SESSION_COOKIE_SECURE | False |
CSRF_COOKIE_DOMAIN | None |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
CSRF_TRUSTED_ORIGINS | [] |
LANGUAGE_COOKIE_DOMAIN | None |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'ncweb.templatetags', 'ncweb'] |
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')] |
USE_L10N | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
STATICFILES_DIRS | [] |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
LANGUAGE_COOKIE_AGE | None |
SESSION_COOKIE_HTTPONLY | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
CSRF_COOKIE_AGE | 31449600 |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/accounts/login/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
TIME_FORMAT | 'P' |
AUTH_USER_MODEL | 'auth.User' |
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'] |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | u'********************' |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
SESSION_FILE_PATH | None |
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/' |
DECIMAL_SEPARATOR | '.' |
IGNORABLE_404_URLS | [] |
MIGRATION_MODULES | {} |
TEMPLATE_STRING_IF_INVALID | '' |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | False |
FIXTURE_DIRS | [] |
EMAIL_HOST | 'smtp.263.net' |
DATE_FORMAT | 'N j, Y' |
MEDIA_ROOT | '' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | [] |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
MEDIA_URL | '' |
DATETIME_FORMAT | 'N j, Y, P' |
TEMPLATE_DIRS | [] |
DISALLOWED_USER_AGENTS | [] |
ALLOWED_INCLUDE_ROOTS | [] |
LOGGING | {} |
SHORT_DATE_FORMAT | 'm/d/Y' |
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']}}] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
SECURE_SSL_REDIRECT | False |
TIME_ZONE | 'UTC' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_USE_SSL | False |
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'] |
SESSION_COOKIE_AGE | 1209600 |
SETTINGS_MODULE | 'nc_server.settings' |
USE_ETAGS | False |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
FILE_UPLOAD_TEMP_DIR | None |
INTERNAL_IPS | [] |
STATIC_URL | '/static/' |
EMAIL_PORT | '25' |
USE_TZ | True |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
TEST_NON_SERIALIZED_APPS | [] |
PASSWORD_HASHERS | u'********************' |
ABSOLUTE_URL_OVERRIDES | {} |
LANGUAGE_COOKIE_PATH | '/' |
CACHE_MIDDLEWARE_SECONDS | 600 |
EMAIL_SSL_CERTFILE | None |
CSRF_COOKIE_HTTPONLY | False |
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 | 'sender@raymonbio.com' |
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.