An error occurred (404) when calling the HeadObject operation: Not Found
Request Method: | GET |
---|---|
Request URL: | https://www.poultryfarmguide.com/blog/tag/facts-about-chickens/feeds/rss/ |
Django Version: | 4.2.2 |
Exception Type: | ClientError |
Exception Value: | An error occurred (404) when calling the HeadObject operation: Not Found |
Exception Location: | /app/.heroku/python/lib/python3.10/site-packages/botocore/client.py, line 964, in _make_api_call |
Raised during: | mezzanine.blog.views.blog_post_feed |
Python Executable: | /app/.heroku/python/bin/python |
Python Version: | 3.10.12 |
Python Path: | ['/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python310.zip', '/app/.heroku/python/lib/python3.10', '/app/.heroku/python/lib/python3.10/lib-dynload', '/app/.heroku/python/lib/python3.10/site-packages'] |
Server time: | Thu, 28 Mar 2024 23:57:45 +0100 |
/app/.heroku/python/lib/python3.10/site-packages/django/core/handlers/exception.py
, line 55, in inner
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | ClientError('An error occurred (404) when calling the HeadObject operation: Not Found') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f1b400324d0>> |
request | <WSGIRequest: GET '/blog/tag/facts-about-chickens/feeds/rss/'> |
/app/.heroku/python/lib/python3.10/site-packages/django/core/handlers/base.py
, line 197, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function blog_post_feed at 0x7f1b3efd20e0> |
callback_args | () |
callback_kwargs | {'format': 'rss', 'tag': 'facts-about-chickens'} |
middleware_method | <bound method PageMiddleware.process_view of <PageMiddleware get_response=BaseHandler._get_response>> |
request | <WSGIRequest: GET '/blog/tag/facts-about-chickens/feeds/rss/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f1b400324d0> |
wrapped_callback | <function blog_post_feed at 0x7f1b3efd20e0> |
/app/.heroku/python/lib/python3.10/site-packages/mezzanine/blog/views.py
, line 109, in blog_post_feed
def blog_post_feed(request, format, **kwargs):
"""
Blog posts feeds - maps format to the correct feed view.
"""
try:
return {"rss": PostsRSS, "atom": PostsAtom}[format](**kwargs)(request)…
except KeyError:
raise Http404()
Variable | Value |
---|---|
format | 'rss' |
kwargs | {'tag': 'facts-about-chickens'} |
request | <WSGIRequest: GET '/blog/tag/facts-about-chickens/feeds/rss/'> |
/app/.heroku/python/lib/python3.10/site-packages/mezzanine/blog/feeds.py
, line 63, in __call__
else:
self._title = settings.SITE_TITLE
self._description = settings.SITE_TAGLINE
def __call__(self, *args, **kwarg):
self._request = current_request()
self._site = Site.objects.get(id=current_site_id())
return super().__call__(*args, **kwarg)…
def add_domain(self, link):
return add_domain(self._site.domain, link, self._request.is_secure())
def title(self):
return unicode(self._title)
Variable | Value |
---|---|
__class__ | <class 'mezzanine.blog.feeds.PostsRSS'> |
args | (<WSGIRequest: GET '/blog/tag/facts-about-chickens/feeds/rss/'>,) |
kwarg | {} |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
/app/.heroku/python/lib/python3.10/site-packages/django/contrib/syndication/views.py
, line 40, in __call__
language = None
def __call__(self, request, *args, **kwargs):
try:
obj = self.get_object(request, *args, **kwargs)
except ObjectDoesNotExist:
raise Http404("Feed object does not exist.")
feedgen = self.get_feed(obj, request)…
response = HttpResponse(content_type=feedgen.content_type)
if hasattr(self, "item_pubdate") or hasattr(self, "item_updateddate"):
# if item_pubdate or item_updateddate is defined for the feed, set
# header so as ConditionalGetMiddleware is able to send 304 NOT MODIFIED
response.headers["Last-Modified"] = http_date(
feedgen.latest_post_date().timestamp()
Variable | Value |
---|---|
args | () |
kwargs | {} |
obj | None |
request | <WSGIRequest: GET '/blog/tag/facts-about-chickens/feeds/rss/'> |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
/app/.heroku/python/lib/python3.10/site-packages/django/contrib/syndication/views.py
, line 197, in get_feed
else:
description = self._get_dynamic_attr("item_description", item)
link = add_domain(
current_site.domain,
self._get_dynamic_attr("item_link", item),
request.is_secure(),
)
enclosures = self._get_dynamic_attr("item_enclosures", item)…
author_name = self._get_dynamic_attr("item_author_name", item)
if author_name is not None:
author_email = self._get_dynamic_attr("item_author_email", item)
author_link = self._get_dynamic_attr("item_author_link", item)
else:
author_email = author_link = None
Variable | Value |
---|---|
context | {'obj': <BlogPost: 40 Facts about chickens that will blow your mind !>, 'site': <Site: example.com>} |
current_site | <Site: example.com> |
description | ('<p><span>As a child, observing the behavior of chickens has always ' 'fascinated me. Having them around the yard is soothing with natural vibes. ' 'But there is more than just being domestic birds and a great source of ' 'protein.\xa0</span></p>\n' '<p><span>And as a poultry keeper, it will be helpful if you can naturally ' 'connect and understand the behavior of your poultry birds for a better ' 'farming experience.</span></p>\n' '<p><span>So, in this post, I am going to share with you 40 facts about ' 'chickens that will leave you with a dropped jaw.</span></p>\n' '<p><strong></strong></p>\n' '<p><strong></strong></p>\n' '<p><strong></strong></p>\n' '<p><strong>Also read: <a ' 'href="https://poultryfarmguide.com/blog/how-to-stop-watery-whitish-greenish-brownish-yellow-and-blood-stain-in-your-chickens-poops/">How ' 'to Stop watery whitish, greenish, brownish-yellow, and bloodstain in your ' 'Chickens poops for full Recovery</a></strong></p>\n' '<p><strong></strong></p>\n' '<p><span></span></p>\n' '<p><span><img alt="chickens in coop" height="248" ' 'src="https://farm-assets.s3.us-east-2.amazonaws.com/chickens+in+coop+(2).jpg" ' 'width="219"/></span></p>\n' '<p></p>\n' '<h6><strong>Photo by Brett Jordan from Pexel</strong></h6>\n' '<p><span></span></p>\n' '<p><span>1. A mother hen can lay more than 300 eggs a year and turns her ' 'eggs about 50 times a day.</span></p>\n' '<p></p>\n' '<p><span>2. Chickens can remember over 100 different faces of people or ' 'animals.</span></p>\n' '<p></p>\n' '<p><span>3.The highest number of eggs laid by a chicken in one day is 7. The ' 'highest number of eggs laid by a chicken in one year is 371</span></p>\n' '<p></p>\n' '<p><span>4.There are more chickens than people on earth-25 billion. There ' 'are also more chickens than any other bird species.</span></p>\n' '<p></p>\n' '<p><span>5.An egg develops at 31 degrees Celcius and is laid at 41-degree ' 'Celcius.</span></p>\n' '<p></p>\n' '<p><span>6.Most eggs are typically laid in the morning between 7 am and 11 ' 'am.</span></p>\n' '<p></p>\n' '<p><span>7.As chickens grow older, they lay larger eggs, but fewer than when ' 'they’re younger.</span></p>\n' '<p><strong></strong></p>\n' '<p><strong></strong></p>\n' '<p><strong></strong></p>\n' '<p><strong>Also read:\xa0<a ' 'href="https://www.poultryfarmguide.com/blog/6-smart-tips-to-increase-the-body-weight-of-your-broiler-chicken/">6 ' 'smart tips to increase the bodyweight of your broiler ' 'chicken</a></strong></p>\n' '<p><span></span></p>\n' '<p><span></span></p>\n' '<p><span></span></p>\n' '<p><span>8.Chickens can taste saltiness like humans, but not ' 'sweetness</span></p>\n' '<p></p>\n' '<p><span>9.In Gainesville, Florida, eating chicken by any other method is ' 'illegal, you have to eat it with your bare.</span></p>\n' '<p></p>\n' '<p><span>10.A hen has to eat about two kilo grams of feed to make one dozen ' 'eggs.</span></p>\n' '<p></p>\n' '<p><span>11. Hens generally choose their mates based on the size and ' 'brightness of a rooster to comb on top of his head. Sometimes they will mate ' 'with multiple roosters at once</span></p>\n' '<p></p>\n' '<p><span>12.On average, 97 chickens are killed every 0.05 seconds ' 'worldwide.</span></p>\n' '<p></p>\n' "<p><span>13.Chicken egg's nutritional value is the same, regardless of the " 'egg color.</span></p>\n' '<p><img alt="" height="200" ' 'src="https://farm-assets.s3.amazonaws.com/media/uploads/.thumbnails/pexels-karolina-grabowska-4207676.jpg/pexels-karolina-grabowska-4207676-250x200.jpg" ' 'width="250"/></p>\n' '<h6><strong>Photo by Karolina Grabowska</strong></h6>\n' '<p><span></span></p>\n' '<p><span>14. A rooster announces to a flock of chickens that he’s found food ' 'with a “took, took, took.” But the hens\xa0</span><a class="editor-rtfLink" ' 'href="http://www.newscientist.com/article/dn10570-only-hungry-hens-heed-the-dinner-call.html" ' 'target="_blank"><span>don’t pay attention</span></a><span>\xa0if they ' 'already know that there is food around.<… <trimmed 12822 bytes string> |
description_tmp | None |
feed | <django.utils.feedgenerator.Rss201rev2Feed object at 0x7f1b3c1db310> |
item | <BlogPost: 40 Facts about chickens that will blow your mind !> |
link | 'https://example.com/blog/40-facts-about-chickens-that-will-blow-your-mind/' |
obj | None |
request | <WSGIRequest: GET '/blog/tag/facts-about-chickens/feeds/rss/'> |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
title | '40 Facts about chickens that will blow your mind !' |
title_tmp | None |
/app/.heroku/python/lib/python3.10/site-packages/django/contrib/syndication/views.py
, line 103, in _get_dynamic_attr
getattr_static(self, func.__name__, None), staticmethod
):
raise ImproperlyConfigured(
f"Feed method {attname!r} decorated by {func.__name__!r} needs to "
f"use @functools.wraps."
)
if code.co_argcount == 2: # one argument is 'self'
return attr(obj)…
else:
return attr()
return attr
def feed_extra_kwargs(self, obj):
"""
Variable | Value |
---|---|
attname | 'item_enclosures' |
attr | <bound method Feed.item_enclosures of <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30>> |
code | <code object item_enclosures at 0x7f1b3efac0e0, file "/app/.heroku/python/lib/python3.10/site-packages/django/contrib/syndication/views.py", line 67> |
default | None |
func | <bound method Feed.item_enclosures of <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30>> |
obj | <BlogPost: 40 Facts about chickens that will blow your mind !> |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
/app/.heroku/python/lib/python3.10/site-packages/django/contrib/syndication/views.py
, line 72, in item_enclosures
)
def item_enclosures(self, item):
enc_url = self._get_dynamic_attr("item_enclosure_url", item)
if enc_url:
enc = feedgenerator.Enclosure(
url=str(enc_url),
length=str(self._get_dynamic_attr("item_enclosure_length", item)),…
mime_type=str(self._get_dynamic_attr("item_enclosure_mime_type", item)),
)
return [enc]
return []
def _get_dynamic_attr(self, attname, obj, default=None):
Variable | Value |
---|---|
enc_url | 'https://farm-assets.s3.amazonaws.com/media/uploads/blog/pexels-brett-jordan-840111.jpg' |
item | <BlogPost: 40 Facts about chickens that will blow your mind !> |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
/app/.heroku/python/lib/python3.10/site-packages/django/contrib/syndication/views.py
, line 103, in _get_dynamic_attr
getattr_static(self, func.__name__, None), staticmethod
):
raise ImproperlyConfigured(
f"Feed method {attname!r} decorated by {func.__name__!r} needs to "
f"use @functools.wraps."
)
if code.co_argcount == 2: # one argument is 'self'
return attr(obj)…
else:
return attr()
return attr
def feed_extra_kwargs(self, obj):
"""
Variable | Value |
---|---|
attname | 'item_enclosure_length' |
attr | <bound method PostsRSS.item_enclosure_length of <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30>> |
code | <code object item_enclosure_length at 0x7f1b3f1471b0, file "/app/.heroku/python/lib/python3.10/site-packages/mezzanine/blog/feeds.py", line 135> |
default | None |
func | <bound method PostsRSS.item_enclosure_length of <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30>> |
obj | <BlogPost: 40 Facts about chickens that will blow your mind !> |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
/app/.heroku/python/lib/python3.10/site-packages/mezzanine/blog/feeds.py
, line 137, in item_enclosure_length
def item_enclosure_url(self, item):
if item.featured_image:
return self.add_domain(item.featured_image.url)
def item_enclosure_length(self, item):
if item.featured_image:
return item.featured_image.size…
def item_enclosure_mime_type(self, item):
if item.featured_image:
return item.featured_image.mimetype[0]
Variable | Value |
---|---|
item | <BlogPost: 40 Facts about chickens that will blow your mind !> |
self | <mezzanine.blog.feeds.PostsRSS object at 0x7f1b3c52df30> |
/app/.heroku/python/lib/python3.10/site-packages/django/db/models/fields/files.py
, line 74, in size
return self.storage.url(self.name)
@property
def size(self):
self._require_file()
if not self._committed:
return self.file.size
return self.storage.size(self.name)…
def open(self, mode="rb"):
self._require_file()
if getattr(self, "_file", None) is None:
self.file = self.storage.open(self.name, mode)
else:
Variable | Value |
---|---|
self | <FieldFileObject: uploads/blog/pexels-brett-jordan-840111.jpg> |
/app/.heroku/python/lib/python3.10/site-packages/storages/backends/s3boto3.py
, line 493, in size
key = entry['Key']
if key != path:
files.append(posixpath.relpath(key, path))
return directories, files
def size(self, name):
name = self._normalize_name(clean_name(name))
return self.bucket.Object(name).content_length…
def _get_write_parameters(self, name, content=None):
params = {}
_type, encoding = mimetypes.guess_type(name)
content_type = getattr(content, 'content_type', None)
Variable | Value |
---|---|
name | 'media/uploads/blog/pexels-brett-jordan-840111.jpg' |
self | <chidiblog.s3utils.MediaStorage object at 0x7f1b3f1d9780> |
/app/.heroku/python/lib/python3.10/site-packages/boto3/resources/factory.py
, line 380, in property_loader
# The property loader will check to see if this resource has already
# been loaded and return the cached value if possible. If not, then
# it first checks to see if it CAN be loaded (raise if not), then
# calls the load before returning the value.
def property_loader(self):
if self.meta.data is None:
if hasattr(self, 'load'):
self.load()…
else:
raise ResourceLoadException(
f'{self.__class__.__name__} has no load method'
)
return self.meta.data.get(name)
Variable | Value |
---|---|
name | 'ContentLength' |
self | s3.Object(bucket_name='farm-assets', key='media/uploads/blog/pexels-brett-jordan-840111.jpg') |
/app/.heroku/python/lib/python3.10/site-packages/boto3/resources/factory.py
, line 564, in do_action
# A resource's ``load`` method is special because it sets
# values on the resource instead of returning the response.
if is_load:
# We need a new method here because we want access to the
# instance via ``self``.
def do_action(self, *args, **kwargs):
response = action(self, *args, **kwargs)…
self.meta.data = response
# Create the docstring for the load/reload methods.
lazy_docstring = docstring.LoadReloadDocstring(
action_name=action_model.name,
resource_name=resource_name,
Variable | Value |
---|---|
action | <boto3.resources.action.ServiceAction object at 0x7f1b3c707f10> |
args | () |
kwargs | {} |
self | s3.Object(bucket_name='farm-assets', key='media/uploads/blog/pexels-brett-jordan-840111.jpg') |
/app/.heroku/python/lib/python3.10/site-packages/boto3/resources/action.py
, line 88, in __call__
logger.debug(
'Calling %s:%s with %r',
parent.meta.service_name,
operation_name,
params,
)
response = getattr(parent.meta.client, operation_name)(*args, **params)…
logger.debug('Response: %r', response)
return self._response_handler(parent, params, response)
Variable | Value |
---|---|
args | () |
kwargs | {} |
operation_name | 'head_object' |
params | {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/pexels-brett-jordan-840111.jpg'} |
parent | s3.Object(bucket_name='farm-assets', key='media/uploads/blog/pexels-brett-jordan-840111.jpg') |
self | <boto3.resources.action.ServiceAction object at 0x7f1b3c707f10> |
/app/.heroku/python/lib/python3.10/site-packages/botocore/client.py
, line 530, in _api_call
# error message than TypeError: _api_call takes exactly
# 1 argument.
if args:
raise TypeError(
f"{py_operation_name}() only accepts keyword arguments."
)
# The "self" in this scope is referring to the BaseClient.
return self._make_api_call(operation_name, kwargs)…
_api_call.__name__ = str(py_operation_name)
# Add the docstring to the client method
operation_model = service_model.operation_model(operation_name)
docstring = ClientMethodDocstring(
Variable | Value |
---|---|
args | () |
kwargs | {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/pexels-brett-jordan-840111.jpg'} |
operation_name | 'HeadObject' |
py_operation_name | 'head_object' |
self | <botocore.client.S3 object at 0x7f1b3ec84ca0> |
/app/.heroku/python/lib/python3.10/site-packages/botocore/client.py
, line 964, in _make_api_call
model=operation_model,
context=request_context,
)
if http.status_code >= 300:
error_code = parsed_response.get("Error", {}).get("Code")
error_class = self.exceptions.from_code(error_code)
raise error_class(parsed_response, operation_name)…
else:
return parsed_response
def _make_request(self, operation_model, request_dict, request_context):
try:
return self._endpoint.make_request(operation_model, request_dict)
Variable | Value |
---|---|
additional_headers | {} |
api_params | {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/pexels-brett-jordan-840111.jpg'} |
endpoint_url | 'http://farm-assets.s3.us-east-2.amazonaws.com' |
error_class | <class 'botocore.exceptions.ClientError'> |
error_code | '404' |
event_response | None |
handler | <function inject_api_version_header_if_needed at 0x7f1b3e3817e0> |
http | <botocore.awsrequest.AWSResponse object at 0x7f1b3ebfc040> |
operation_model | OperationModel(name=HeadObject) |
operation_name | 'HeadObject' |
parsed_response | {'Error': {'Code': '404', 'Message': 'Not Found'}, 'ResponseMetadata': {'HTTPHeaders': {'content-type': 'application/xml', 'date': 'Thu, 28 Mar 2024 22:57:45 GMT', 'server': 'AmazonS3', 'x-amz-delete-marker': 'true', 'x-amz-id-2': 'b+pKKi21HfwVu+VBZ9P93vrfvL/Xj4MjhY5UZCJFMLO4jUYNLjDuijGbaP0otSgHGLu9+7rWolE=', 'x-amz-request-id': '4WPW9CRASQM1SMMD', 'x-amz-version-id': 'FZ2XJ_uq_HMh8qFtKQNGl3msdbF2y6tj'}, 'HTTPStatusCode': 404, 'HostId': 'b+pKKi21HfwVu+VBZ9P93vrfvL/Xj4MjhY5UZCJFMLO4jUYNLjDuijGbaP0otSgHGLu9+7rWolE=', 'RequestId': '4WPW9CRASQM1SMMD', 'RetryAttempts': 0}} |
request_context | {'auth_type': 'v4', 'client_config': <botocore.config.Config object at 0x7f1b3eba0670>, 'client_region': 'us-east-1', 'has_streaming_input': False, 'retries': {'attempt': 1, 'invocation-id': '1c76bd6c-56e5-40f3-9abd-0efb7f65cafe', 'max': 5}, 's3_redirect': {'bucket': 'farm-assets', 'params': {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/pexels-brett-jordan-840111.jpg'}, 'redirected': False}, 'signing': {'disableDoubleEncoding': True, 'region': 'us-east-2', 'signing_name': 's3'}, 'timestamp': '20240328T225745Z'} |
request_dict | {'auth_path': '/farm-assets/media/uploads/blog/pexels-brett-jordan-840111.jpg', 'body': b'', 'context': {'auth_type': 'v4', 'client_config': <botocore.config.Config object at 0x7f1b3eba0670>, 'client_region': 'us-east-1', 'has_streaming_input': False, 'retries': {'attempt': 1, 'invocation-id': '1c76bd6c-56e5-40f3-9abd-0efb7f65cafe', 'max': 5}, 's3_redirect': {'bucket': 'farm-assets', 'params': {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/pexels-brett-jordan-840111.jpg'}, 'redirected': False}, 'signing': {'disableDoubleEncoding': True, 'region': 'us-east-2', 'signing_name': 's3'}, 'timestamp': '20240328T225745Z'}, 'headers': {'User-Agent': 'Boto3/1.26.163 Python/3.10.12 ' 'Linux/5.15.0-1053-aws Botocore/1.29.164 Resource'}, 'method': 'HEAD', 'query_string': {}, 'url': 'http://farm-assets.s3.us-east-2.amazonaws.com/media/uploads/blog/pexels-brett-jordan-840111.jpg', 'url_path': '/media/uploads/blog/pexels-brett-jordan-840111.jpg'} |
self | <botocore.client.S3 object at 0x7f1b3ec84ca0> |
service_id | 's3' |
service_name | 's3' |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_ACCEPT_ENCODING | 'gzip, br' |
HTTP_CDN_LOOP | 'cloudflare' |
HTTP_CF_CONNECTING_IP | '3.235.130.73' |
HTTP_CF_IPCOUNTRY | 'US' |
HTTP_CF_RAY | '86bb389278f45767-IAD' |
HTTP_CF_VISITOR | '{"scheme":"https"}' |
HTTP_CONNECTION | 'close' |
HTTP_CONNECT_TIME | '0' |
HTTP_HOST | 'www.poultryfarmguide.com' |
HTTP_REFERER | 'https://poultryfarmguide.com/blog/tag/facts-about-chickens/feeds/rss/' |
HTTP_TOTAL_ROUTE_TIME | '0' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_VIA | '1.1 vegur' |
HTTP_X_FORWARDED_FOR | '3.235.130.73, 162.158.79.200' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REQUEST_ID | '076766b4-9024-4abf-a734-d946f1b2d286' |
HTTP_X_REQUEST_START | '1711666665603' |
PATH_INFO | '/blog/tag/facts-about-chickens/feeds/rss/' |
QUERY_STRING | '' |
RAW_URI | '/blog/tag/facts-about-chickens/feeds/rss/' |
REMOTE_ADDR | '10.1.25.121' |
REMOTE_PORT | '22359' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '20478' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'gunicorn/20.1.0' |
gunicorn.socket | <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.143.130', 20478), raddr=('10.1.25.121', 22359)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f1b3e275a80> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f1b3c4ad990> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
chidiblog.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('mezzanine.core.auth_backends.MezzanineBackend',) |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
AWS_ACCESS_KEY_ID | '********************' |
AWS_LOCATION | 'media' |
AWS_S3_CUSTOM_DOMAIN | 'farm-assets.s3.amazonaws.com' |
AWS_S3_OBJECT_PARAMETERS | {'CacheControl': 'max-age=86400'} |
AWS_S3_USE_SSL | False |
AWS_SECRET_ACCESS_KEY | '********************' |
AWS_STORAGE_BUCKET_NAME | 'farm-assets' |
BASE_DIR | '/app' |
BLOG_USE_FEATURED_IMAGE | True |
CACHES | {'default': {'BACKEND': 'django_bmemcached.memcached.BMemcached', 'LOCATION': 'memcached-10136.c247.eu-west-1-1.ec2.cloud.redislabs.com:10136', 'OPTIONS': {'password': '********************', 'username': 'memcached-app182570630'}}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
COMMENTS_APP | 'mezzanine.generic' |
COMMENTS_USE_RATINGS | False |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_MASKED | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 600, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'ec2-52-208-80-133.eu-west-1.compute.amazonaws.com', 'NAME': 'df1t8h5nsscni1', 'OPTIONS': {'sslmode': 'require'}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'ocyrclhokdvjvb'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
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_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'chidiblog.s3utils.MediaStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DEV_SERVER | False |
DISALLOWED_USER_AGENTS | [] |
DJANGO_VERSION | (4, 2, 2, 'final', 0) |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORMS_USE_HTML5 | True |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
GRAPPELLI_INSTALLED | True |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('mezzanine.boot', 'theme', 'storages', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.redirects', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.sites', 'django.contrib.sitemaps', 'mezzanine.conf', 'mezzanine.core', 'mezzanine.generic', 'mezzanine.pages', 'mezzanine.blog', 'mezzanine.forms', 'mezzanine.galleries', 'filebrowser_safe', 'grappelli_safe', 'django.contrib.admin', 'django.contrib.staticfiles', 'django_comments') |
INTERNAL_IPS | [] |
LANGUAGES | (('en', 'English'),) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur'] |
LANGUAGE_CODE | 'en' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S', 'format': '%(asctime)s [%(process)d] ' '[%(levelname)s] pathname=%(pathname)s ' 'lineno=%(lineno)s funcname=%(funcName)s ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose', 'level': 'DEBUG'}, 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}}, 'loggers': {'testlogger': {'handlers': ['console'], 'level': 'INFO'}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | 'https://farm-assets.s3.amazonaws.com/media/' |
MEMCACHEDCLOUD_PASSWORD | '********************' |
MEMCACHEDCLOUD_SERVERS | 'memcached-10136.c247.eu-west-1-1.ec2.cloud.redislabs.com:10136' |
MEMCACHEDCLOUD_USERNAME | 'memcached-app182570630' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.cookie.CookieStorage' |
MIDDLEWARE | ('whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'mezzanine.core.request.CurrentRequestMiddleware', 'mezzanine.core.middleware.RedirectFallbackMiddleware', 'mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware', 'mezzanine.core.middleware.SitePermissionMiddleware', 'mezzanine.pages.middleware.PageMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
OPTIONAL_APPS | ('debug_toolbar', 'django_extensions', 'compressor', 'filebrowser_safe', 'grappelli_safe') |
PACKAGE_NAME_FILEBROWSER | 'filebrowser_safe' |
PACKAGE_NAME_GRAPPELLI | 'grappelli_safe' |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PREPEND_WWW | True |
PROJECT_APP | 'chidiblog' |
PROJECT_APP_PATH | '/app/chidiblog' |
PROJECT_ROOT | '/app' |
ROOT_URLCONF | 'chidiblog.urls' |
SECRET_KEY | '********************' |
SECRET_KEY_FALLBACKS | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | True |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'chidiblog.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'whitenoise.storage.CompressedManifestStaticFilesStorage' |
STATIC_ROOT | '/app/staticfiles' |
STATIC_URL | '/static/' |
STORAGES | {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/templates'], 'OPTIONS': {'builtins': [], 'context_processors': ['django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.static', 'django.template.context_processors.media', 'django.template.context_processors.request', 'django.template.context_processors.tz', 'mezzanine.conf.context_processors.settings', 'mezzanine.pages.context_processors.page'], 'loaders': ['mezzanine.template.loaders.host_themes.Loader', 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}] |
TESTING | False |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Africa/Lagos' |
USE_DEPRECATED_PYTZ | False |
USE_I18N | False |
USE_L10N | True |
USE_MODELTRANSLATION | False |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | None |
X_FRAME_OPTIONS | 'DENY' |
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 page generated by the handler for this status code.