'category_slug'
Request Method: | GET |
---|---|
Request URL: | http://www.roomstyles.de/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/ |
Django Version: | 1.9.6 |
Exception Type: | KeyError |
Exception Value: | 'category_slug' |
Exception Location: | /tmp/affili/base/views/products.py in get, line 410 |
Python Executable: | /usr/local/bin/python3.4 |
Python Version: | 3.4.4 |
Python Path: | ['/tmp/affili', '/usr/local/bin', '/usr/local/lib/python34.zip', '/usr/local/lib/python3.4', '/usr/local/lib/python3.4/plat-linux', '/usr/local/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/site-packages', '/tmp/affili'] |
Server time: | Fr, 29 Mär 2024 11:27:09 +0000 |
/usr/local/lib/python3.4/site-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 |
---|---|
response | None |
urlconf | 'affili.urls' |
response_is_rendered | False |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f7eb5ea7978>> |
callback_args | () |
wrapped_callback | <function ProductsView at 0x7f7ebd843840> |
resolver_match | ResolverMatch(func=base.views.products.ProductsView, args=(), kwargs={'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'}, url_name=None, app_names=[], namespaces=[]) |
request | <WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'> |
callback_kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f7eb95d5278> |
callback | <function ProductsView at 0x7f7ebd843840> |
resolver | <RegexURLResolver 'affili.urls' (None:None) ^/> |
/usr/local/lib/python3.4/site-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 |
---|---|
response | None |
urlconf | 'affili.urls' |
response_is_rendered | False |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f7eb5ea7978>> |
callback_args | () |
wrapped_callback | <function ProductsView at 0x7f7ebd843840> |
resolver_match | ResolverMatch(func=base.views.products.ProductsView, args=(), kwargs={'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'}, url_name=None, app_names=[], namespaces=[]) |
request | <WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'> |
callback_kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f7eb95d5278> |
callback | <function ProductsView at 0x7f7ebd843840> |
resolver | <RegexURLResolver 'affili.urls' (None:None) ^/> |
/usr/local/lib/python3.4/site-packages/django/views/generic/base.py
in view
def view(request, *args, **kwargs):
self = cls(**initkwargs)
if hasattr(self, 'get') and not hasattr(self, 'head'):
self.head = self.get
self.request = request
self.args = args
self.kwargs = kwargs
return self.dispatch(request, *args, **kwargs)...
view.view_class = cls
view.view_initkwargs = initkwargs
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
request | <WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'> |
self | <base.views.products.ProductsView object at 0x7f7eb414c550> |
kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
initkwargs | {} |
args | () |
cls | <class 'base.views.products.ProductsView'> |
/usr/local/lib/python3.4/site-packages/django/utils/decorators.py
in _wrapper
def _wrapper(self, *args, **kwargs):
@decorate
def bound_func(*args2, **kwargs2):
return func.__get__(self, type(self))(*args2, **kwargs2)
# bound_func has the signature that 'decorator' expects i.e. no
# 'self' argument, but it is a closure over self so it can call
# 'func' correctly.
return bound_func(*args, **kwargs)...
# In case 'decorator' adds attributes to the function it decorates, we
# want to copy those. We don't have access to bound_func in this scope,
# but we can cheat by using it on a dummy function.
@decorate
def dummy(*args, **kwargs):
Variable | Value |
---|---|
self | <base.views.products.ProductsView object at 0x7f7eb414c550> |
func | <function ProductsView.dispatch at 0x7f7eb5e06400> |
decorate | <function method_decorator.<locals>._dec.<locals>.decorate at 0x7f7eb5e06488> |
kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
args | (<WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'>,) |
bound_func | <function method_decorator.<locals>._dec.<locals>._wrapper.<locals>.bound_func at 0x7f7eb55a17b8> |
/usr/local/lib/python3.4/site-packages/django/views/decorators/csrf.py
in wrapped_view
"""
Marks a view function as being exempt from the CSRF view protection.
"""
# We could just do view_func.csrf_exempt = True, but decorators
# are nicer if they don't have side-effects, so we return a new
# function.
def wrapped_view(*args, **kwargs):
return view_func(*args, **kwargs)...
wrapped_view.csrf_exempt = True
return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)
Variable | Value |
---|---|
view_func | <function method_decorator.<locals>._dec.<locals>._wrapper.<locals>.bound_func at 0x7f7eb55ec1e0> |
args | (<WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'>,) |
kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
/usr/local/lib/python3.4/site-packages/django/utils/decorators.py
in bound_func
function = dec(function)
return function
return decorator(function)
def _wrapper(self, *args, **kwargs):
@decorate
def bound_func(*args2, **kwargs2):
return func.__get__(self, type(self))(*args2, **kwargs2)...
# bound_func has the signature that 'decorator' expects i.e. no
# 'self' argument, but it is a closure over self so it can call
# 'func' correctly.
return bound_func(*args, **kwargs)
# In case 'decorator' adds attributes to the function it decorates, we
# want to copy those. We don't have access to bound_func in this scope,
Variable | Value |
---|---|
args2 | (<WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'>,) |
self | <base.views.products.ProductsView object at 0x7f7eb414c550> |
func | <function ProductsView.dispatch at 0x7f7eb5e06400> |
kwargs2 | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
/tmp/affili/base/views/products.py
in dispatch
if len(query_text):
return 'q/{}/{}'.format(query_text, url)
return '/' + url
@method_decorator(csrf_exempt)
def dispatch(self, request, *args, **kwargs):
return super(ProductsView, self).dispatch(request, *args, **kwargs)...
def post(self, request, qstring='', page=1, **kwargs):
manager, engine, url_cat, url, selector, parent_cats, force_redirect = self._resolve_new_url_structure(**kwargs)
if 'price_low' and 'price_high' in request.POST:
low = int(request.POST['price_low'].split(',', 1)[0])
high = int(request.POST['price_high'].split(',', 1)[0])
Variable | Value |
---|---|
request | <WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'> |
args | () |
self | <base.views.products.ProductsView object at 0x7f7eb414c550> |
__class__ | <class 'base.views.products.ProductsView'> |
kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
/usr/local/lib/python3.4/site-packages/django/views/generic/base.py
in dispatch
# Try to dispatch to the right method; if a method doesn't exist,
# defer to the error handler. Also defer to the error handler if the
# request method isn't on the approved list.
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
return handler(request, *args, **kwargs)...
def http_method_not_allowed(self, request, *args, **kwargs):
logger.warning('Method Not Allowed (%s): %s', request.method, request.path,
extra={
'status_code': 405,
'request': request
Variable | Value |
---|---|
request | <WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'> |
self | <base.views.products.ProductsView object at 0x7f7eb414c550> |
args | () |
handler | <bound method ProductsView.get of <base.views.products.ProductsView object at 0x7f7eb414c550>> |
kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
/tmp/affili/base/views/products.py
in get
'page': 0,
'query_text': qstring,
'product_base_link': product_base_link,
'parent_cats': parent_cats
}
if force_redirect:
category_path = engine.metadata('CATEGORIES')['flattenized'][query['category_slug']]['path']...
url_parts_copy = url_parts.copy()
url_parts_copy['parent_cats'] = category_path
return redirect(build_url(**url_parts_copy))
if category and not parent_cats:
category_path = engine.metadata('CATEGORIES')['flattenized'][query['category_slug']]['path']
Variable | Value |
---|---|
force_redirect | True |
self | <base.views.products.ProductsView object at 0x7f7eb414c550> |
attributes | ['weiss'] |
url_cat | '' |
url | 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159' |
manager | <base.engine.EngineManager object at 0x7f7eb414cf28> |
brand | [] |
engine | <base.modules.engine.mongo.MongoEngine object at 0x7f7eb56daf60> |
selector | '' |
query | {'_limit': 42, '_offset': 0, '_selector': [''], '_sort': [('additional_featured', -1), ('additional_recommended', -1), ('csv_priority', 1)], '_text': '', 'additional': {'images_exists': 1}, 'attributes': {'color': [' weiß']}} |
product_base_link | 'shop' |
context | {'settings': <GlobalSettings: GlobalSettings object>} |
qstring | '' |
settings_manager | <base.settings.SettingsManager object at 0x7f7eb585d898> |
kwargs | {'cat_url_selector': 'eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159', 'p1_cat_url': 'produkt'} |
category | None |
selectors | [] |
url2query | <base.modules.engine.url.Url2Query object at 0x7f7eb56da518> |
page | 1 |
request | <WSGIRequest: GET '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/'> |
url_parts | {'attributes': ['weiss'], 'base': '/', 'brand': [], 'category': None, 'page': 0, 'parent_cats': [], 'prepend': '', 'product_base_link': 'shop', 'query_text': '', 'selectors': []} |
aliases | ['weiss'] |
sort_order | [('additional_featured', -1), ('additional_recommended', -1), ('csv_priority', 1)] |
parent_cats | [] |
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_CONNECTION | 'close' |
wsgi.multithread | False |
QUERY_STRING | '' |
REMOTE_ADDR | '172.18.0.3' |
SERVER_SOFTWARE | 'gunicorn/19.6.0' |
HTTP_REFERER | 'http://www.roomstyles.de/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/' |
SCRIPT_NAME | '' |
PATH_INFO | '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/' |
wsgi.run_once | False |
SERVER_PORT | '8000' |
wsgi.input | <gunicorn.http.body.Body object at 0x7f7eb414c5c0> |
HTTP_X_REAL_IP | '172.18.0.4' |
SERVER_PROTOCOL | 'HTTP/1.0' |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f7eb414c9e8> |
RAW_URI | '/produkt/eek-a-spiegelschrank-wiesbaden-i-inkl-beleuchtung-weiss-83-cm-pelipal-m-pel-b00159/' |
HTTP_USER_AGENT | 'claudebot' |
REMOTE_PORT | '32784' |
gunicorn.socket | <socket.socket fd=12, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.18.0.2', 8000), raddr=('172.18.0.3', 32784)> |
REQUEST_METHOD | 'GET' |
wsgi.url_scheme | 'http' |
SERVER_NAME | '0.0.0.0' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_FORWARDED_FOR | '54.91.51.101, 172.18.0.4' |
HTTP_HOST | 'www.roomstyles.de' |
wsgi.multiprocess | True |
wsgi.version | (1, 0) |
wsgi.file_wrapper | '' |
HTTP_ACCEPT | '*/*' |
affili.settings
Setting | Value |
---|---|
CSRF_COOKIE_SECURE | False |
APPEND_SLASH | True |
USE_TZ | True |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': 'session:11211', 'OPTIONS': {'MAX_ENTRIES': 5000}}, 'redis': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://redis:6379', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'COMPRESS_COMPRESSOR': <built-in function compress>, 'COMPRESS_DECOMPRESSOR': <built-in function decompress>, 'COMPRESS_DECOMPRESSOR_ERROR': <class 'zlib.error'>}}} |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
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'] |
EMAIL_PORT | 25 |
INTERNAL_IPS | [] |
DEFAULT_CONTENT_TYPE | 'text/html' |
USE_THOUSAND_SEPARATOR | False |
MEDIA_ROOT | '/tmp/affili/media/' |
CELERY_IMPORTS | ['base.tasks.download_file', 'base.tasks.engine', 'base.tasks.importer', 'base.tasks.wp_exists', 'base.tasks.wp_similar', 'base.tasks.cache', 'base.tasks.image', 'base.tasks.misc', 'base.tasks.backup', 'app_tinyimages.tasks'] |
ABSOLUTE_URL_OVERRIDES | {} |
MEDIA_URL | '/media/' |
IMAGE_SIZE | 400 |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
CSRF_COOKIE_AGE | 31449600 |
ALLOWED_HOSTS | ['*'] |
PASSWORD_HASHERS | '********************' |
MIGRATION_MODULES | {} |
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'] |
CELERY_RESULT_BACKEND | 'redis://redis:6379' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CELERY_CREATE_MISSING_QUEUES | True |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
BASE_DIR | '/tmp/affili' |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_COOKIE_AGE | 1209600 |
SITE_ID | 1 |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
FILE_CACHE_LIFETIME | 86400 |
SITEMAP_PROTOCOL | 'https' |
SECURE_SSL_REDIRECT | False |
ID_RULE_FIELDS | None |
ENGINE | {'mongo': {'db': 'roomstyles', 'host': 'mongo', 'port': 27017}} |
PRODUCT_IMAGES_FILEURL | '/media/product-images' |
CUSTOM_CACHE_SITES | ['shop/', 'shop/?sidebar', ''] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
IGNORABLE_404_URLS | [] |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
CSRF_COOKIE_HTTPONLY | False |
SECURE_PROXY_SSL_HEADER | None |
PREPEND_WWW | False |
EMAIL_HOST | 'localhost' |
USE_X_FORWARDED_PORT | False |
THOUSAND_SEPARATOR | ',' |
EMAIL_SSL_CERTFILE | None |
EMAIL_TIMEOUT | None |
TIME_ZONE | 'UTC' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/tmp/affili/../custom-templates', '/tmp/affili/base/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.core.context_processors.i18n', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}, {'APP_DIRS': True, 'BACKEND': 'django.template.backends.jinja2.Jinja2', 'DIRS': [], 'OPTIONS': {}}] |
CELERY_ACCEPT_CONTENT | ['application/json'] |
LANGUAGE_CODE | 'de-de' |
LOGIN_URL | '/admin/login/' |
SERVER_EMAIL | 'root@localhost' |
USE_L10N | True |
LANGUAGES | [('de', <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7f7ed218f898>), ('en', <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7f7ed218f8d0>)] |
DOMAIN | 'https://www.roomstyles.de' |
YEAR_MONTH_FORMAT | 'F Y' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
API_ACTIVE | '********************' |
FORCE_SCRIPT_NAME | None |
WSGI_APPLICATION | 'affili.wsgi.application' |
DEBUG_PROPAGATE_EXCEPTIONS | False |
FILE_UPLOAD_TEMP_DIR | None |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'base', 'sorl.thumbnail', 'app_metacombination', 'chartjs', 'app_csvpriority', 'app_tinyimages'] |
ROOT_URLCONF | 'affili.urls' |
TEMPLATE_DEBUG | False |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
CACHE_BASE_DOMAIN | 'https://www.roomstyles.de' |
LOGGING_CONFIG | 'logging.config.dictConfig' |
EMAIL_HOST_PASSWORD | '********************' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
PROJECT_NAME | 'affili' |
SECURE_REDIRECT_EXEMPT | [] |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
MOZJPEG_PATH | '/opt/mozjpeg/bin/jpegtran' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
ACTIVE_AREAS | ['shop/', 'import/', 'sitemap/', 'settings/', 'stats/', 'locked/', 'blog/'] |
FORMAT_MODULE_PATH | None |
NUMBER_BLOGPOSTS | 12 |
SECRET_KEY | '********************' |
USE_ETAGS | False |
EMAIL_USE_SSL | False |
CELERY_TASK_SERIALIZER | 'json' |
BRAND_CACHE_PRODUCT_LIMIT | 10 |
FILE_CHARSET | 'utf-8' |
SESSION_FILE_PATH | None |
MONGO | {'db': 'roomstyles', 'host': 'mongo', 'port': 27017} |
SESSION_COOKIE_SECURE | False |
MONTH_DAY_FORMAT | 'F j' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
SITE_PREFIX | '' |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
CSRF_COOKIE_NAME | 'csrftoken' |
FIXTURE_DIRS | [] |
SILENCED_SYSTEM_CHECKS | [] |
EMAIL_HOST_USER | '' |
CELERY_RESULT_SERIALIZER | 'json' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
SESSION_COOKIE_PATH | '/' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
CSV_FILEPATH | '/tmp/affili/media/csv' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
EMAIL_SSL_KEYFILE | '********************' |
CELERY_BROKER_URL | 'redis://redis:6379' |
FILE_CACHE | '/tmp/affili/media/cache' |
LOGOUT_URL | '/accounts/logout/' |
DATABASE_ROUTERS | [] |
SESSION_COOKIE_HTTPONLY | True |
DATETIME_FORMAT | 'N j, Y, P' |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SETTINGS_MODULE | 'affili.settings' |
USE_X_FORWARDED_HOST | False |
DEFAULT_CHARSET | 'utf-8' |
SECURE_HSTS_SECONDS | 0 |
MANAGERS | [] |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
EMAIL_USE_TLS | 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'] |
DATE_FORMAT | 'N j, Y' |
BROKER_URL | 'redis://redis:6379' |
CELERY_ROUTES | {'app_tinyimages.tasks.download_image': {'queue': 'images'}, 'base.tasks.image.copy_additional_to_live': {'queue': 'images'}, 'base.tasks.image.copy_additional_to_staging': {'queue': 'images'}, 'base.tasks.image.download_image': {'queue': 'images'}, 'base.tasks.image.remove_wild_images': {'queue': 'images'}} |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'mysql', 'NAME': 'db_roomstyles_my', 'OPTIONS': {'charset': 'utf8mb4', 'use_unicode': True}, 'PASSWORD': '********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'root'}, 'wp': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'wordpress_db', 'NAME': 'wordpress', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'root'}} |
AUTH_USER_MODEL | 'auth.User' |
LANGUAGE_COOKIE_NAME | 'django_language' |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
SECURE_SSL_HOST | None |
SECURE_BROWSER_XSS_FILTER | False |
LANGUAGE_COOKIE_PATH | '/' |
AUTH_PASSWORD_VALIDATORS | '********************' |
TEMPLATE_DIRS | [] |
SESSION_CACHE_ALIAS | 'default' |
PRODUCT_IMAGES_FILEPATH | '/tmp/affili/media/product-images' |
TIME_FORMAT | 'P' |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SESSION_COOKIE_NAME | 'sessionid' |
SHORT_DATE_FORMAT | 'm/d/Y' |
ALLOWED_INCLUDE_ROOTS | [] |
CUSTOM_MONGO_INDEXES | [[('additional_featured', -1), ('additional_recommended', -1), ('csv_priority', 1)], [('additional_recommended', -1), ('csv_priority', 1)], [('additional_click_count', -1), ('csv_priority', 1)], [('relative_savings', -1), ('additional_featured', -1), ('additional_recommended', -1), ('csv_priority', 1)], [('price', -1), ('additional_featured', -1), ('additional_recommended', -1), ('csv_priority', 1)], [('price', 1), ('additional_featured', -1), ('additional_recommended', -1), ('csv_priority', 1)], [('categories', -1), ('additional_images_exists', -1), ('csv_priority', 1)], [('brand', -1), ('additional_images_exists', -1), ('csv_priority', 1)]] |
STATIC_URL | '/static/' |
TEMPLATE_STRING_IF_INVALID | '' |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_AGE | None |
STATICFILES_DIRS | ['/tmp/affili/../custom-templates/static'] |
DEFAULT_INDEX_TABLESPACE | '' |
TEST_NON_SERIALIZED_APPS | [] |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
CSRF_COOKIE_DOMAIN | None |
FILE_UPLOAD_PERMISSIONS | None |
LOCALE_PATHS | ('/tmp/affili/locale',) |
STATIC_ROOT | '/tmp/affili/static/' |
TEMPLATE_LOADERS | ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader'] |
CSRF_COOKIE_PATH | '/' |
ADMINS | [] |
SESSION_COOKIE_DOMAIN | None |
DECIMAL_SEPARATOR | '.' |
DEFAULT_TABLESPACE | '' |
USE_I18N | True |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
CATEGORY_CACHE_PRODUCT_LIMIT | 10 |
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'] |
CACHE_MIDDLEWARE_SECONDS | 600 |
DEBUG | True |
TEMPLATE_PRODUCT_LIST_ITEM | '/tmp/affili/../custom-templates/base/_product_mustache.html' |
FIRST_DAY_OF_WEEK | 0 |
DISALLOWED_USER_AGENTS | [] |
PROJECT_DIR | '/tmp/affili/affili' |
SECURE_CONTENT_TYPE_NOSNIFF | False |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}}, 'handlers': {'file': {'class': 'logging.StreamHandler', 'formatter': 'simple', 'level': 'INFO'}}, 'loggers': {'base': {'handlers': ['file'], 'level': 'DEBUG'}}, 'version': 1} |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
USER_GROUPS | ['admin', 'employe', 'editor'] |
NUMBER_GROUPING | 0 |
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.