An error occurred (404) when calling the HeadObject operation: Not Found
Request Method: | GET |
---|---|
Request URL: | https://www.poultryfarmguide.com/blog/category/tipsguides/feeds/atom/ |
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 09:58:35 +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 0x7fe6dbefab90>> |
request | <WSGIRequest: GET '/blog/category/tipsguides/feeds/atom/'> |
/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 0x7fe6daf38700> |
callback_args | () |
callback_kwargs | {'category': 'tipsguides', 'format': 'atom'} |
middleware_method | <bound method PageMiddleware.process_view of <PageMiddleware get_response=BaseHandler._get_response>> |
request | <WSGIRequest: GET '/blog/category/tipsguides/feeds/atom/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fe6dbefab90> |
wrapped_callback | <function blog_post_feed at 0x7fe6daf38700> |
/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 | 'atom' |
kwargs | {'category': 'tipsguides'} |
request | <WSGIRequest: GET '/blog/category/tipsguides/feeds/atom/'> |
/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/category/tipsguides/feeds/atom/'>,) |
kwarg | {} |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
/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/category/tipsguides/feeds/atom/'> |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
/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 |
---|---|
author_email | None |
author_link | 'https://example.com/blog/author/chidi/' |
author_name | 'Samuel Ezenwankwo' |
context | {'obj': <BlogPost: 8 Things I wish I’d known About Poultry farming. Don't neglect No 7>, 'site': <Site: example.com>} |
current_site | <Site: example.com> |
description | ('<p><span>Some mistakes can never fade, even after the amendment. It is like ' 'a broken bone that never heals completely. The pain always resurfaces when ' 'the weather gets cold. </span></p>\n' '<p><span>Having gone through some hard times in poultry farming, it pains me ' 'when I see poultry farmers, especially beginners, making the same <a ' 'href="https://www.poultryfarmguide.com/blog/8-mistakes-you-must-avoid-if-you-want-to-succeed-in-poultry-farming/">poultry ' 'farm mistakes </a>I did in the past. I won’t want them to have the same ' 'experience of ‘I wish I had known…’ So in this post, I letting out my ' 'thought and sincere advice</span></p>\n' '<p></p>\n' '<p><img alt="Farms\' thought" height="347" ' 'src="https://farm-assets.s3.us-east-2.amazonaws.com/Bruce+photo.jpg" ' 'width="260"/></p>\n' '<h6><strong><span>Some memories never fade</span></strong></h6>\n' '<p><strong><span></span></strong></p>\n' '<h2><strong><span>1. I wish I had known that nothing can be substituted for ' 'knowledge/ training when it comes to poultry ' 'farming</span></strong><span>.\xa0</span></h2>\n' '<p><span>My dear poultry farmers, if you haven’t gone to any basic training ' 'on poultry farming, please endeavor to register yourself with a reputable ' 'farm institute. Lack of knowledge and training can be so disastrous. For ' 'example, if you cannot detect a sick bird early, the disease may get to a ' 'critical stage and wipe the whole flock.</span></p>\n' '<p><span>If you have poultry workers, ensure they go for on-the-job training ' 'from time to time. You cannot do everything yourself.</span></p>\n' '<p><strong><span></span></strong></p>\n' '<p><strong><span></span></strong></p>\n' '<p><strong><span></span></strong></p>\n' '<p><strong><span></span>Also read:\xa0<a ' 'href="https://www.poultryfarmguide.com/blog/8-beginners-guide-in-poultry-farming-in-Nigeria-you-must-follow-if-you-want-to-be-successful/">Blog ' "post: 8 Beginner's guide in poultry farming in Nigeria you must follow, If " 'you want to be successful</a></strong></p>\n' '<p><strong></strong></p>\n' '<p><strong></strong></p>\n' "<h2><strong><span>2. I wish I had known that marketing isn't less " 'important\xa0 than production</span></strong></h2>\n' '<p><span>My dear poultry farmers, before you start any production, ensure ' 'you find your target market and buyer to avoid being stranded when your ' 'chickens get to market size, most especially with broilers.</span></p>\n' '<p><span></span></p>\n' '<p><br/><span></span></p>\n' '<h6></h6>\n' '<p><span>\xa0</span></p>\n' '<p><span>For example, broilers are chickens bred for meat production, and ' 'they grow and attain marketable size by 6 weeks. Failure to look for a buyer ' 'before production may leave you stranded, and eventually, you might sell the ' 'bird below the cost price.</span></p>\n' '<p><span>Moreover,</span><span> Keeping the bird will incur more expenses on ' 'feed because the growth rate of the broiler decreases with age. You will end ' 'up running into a loss</span></p>\n' '<p><span></span></p>\n' '<p><span>This is the more reason you should look for buyers before ' 'production. Make use of your social medial handles like Facebook, Instagram, ' 'Twitter, Pinterest, etc to market your products, the market is going ' 'digital. Always invest more in marketing than production.\xa0</span></p>\n' '<p></p>\n' '<h2><strong><span>3. I\xa0</span></strong><strong><span>wish had known that ' 'medication cannot take the place of sanitation\xa0</span></strong></h2>\n' '<h2><strong><span>(bio-security)</span></strong></h2>\n' '<p><span>My dear poultry farmers, medicine has limited value; they can only ' 'help to a small extent and should never take the place of sanitary ' 'measures.</span></p>\n' '<p><span></span></p>\n' '<p><span><img alt="" height="166" ' 'src="https://tse1.mm.bing.net/th?id=OIP.v2rAGI0_ZJbJQTJHx7YJFgHaFM&pid=Api&P=0&w=237&h=167" ' 'width="237"/></span></p>\n' '<h6><strong>Proper sanitation is a sure way to preventing ' … <trimmed 16700 bytes string> |
description_tmp | None |
enclosures | [<django.utils.feedgenerator.Enclosure object at 0x7fe6d3f534f0>] |
feed | <django.utils.feedgenerator.Atom1Feed object at 0x7fe6d841dc30> |
item | <BlogPost: 8 Things I wish I’d known About Poultry farming. Don't neglect No 7> |
link | "https://example.com/blog/8-things-i-wish-id-know-about-poultry-farming-Don't%20ever-neglect-no-7/" |
obj | None |
pubdate | datetime.datetime(2020, 10, 9, 22, 43, 8, tzinfo=datetime.timezone.utc) |
request | <WSGIRequest: GET '/blog/category/tipsguides/feeds/atom/'> |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
title | '8 Things I wish I’d known About Poultry farming. Don't neglect No 7' |
title_tmp | None |
tz | zoneinfo.ZoneInfo(key='Africa/Lagos') |
updateddate | datetime.datetime(2024, 3, 28, 8, 42, 17, 751225, tzinfo=datetime.timezone.utc) |
/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.PostsAtom object at 0x7fe6dc2e8850>> |
code | <code object item_enclosures at 0x7fe6daecd580, 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.PostsAtom object at 0x7fe6dc2e8850>> |
obj | <BlogPost: 8 Things I wish I’d known About Poultry farming. Don't neglect No 7> |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
/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/img_20201006_001652.jpg' |
item | <BlogPost: 8 Things I wish I’d known About Poultry farming. Don't neglect No 7> |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
/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.PostsAtom object at 0x7fe6dc2e8850>> |
code | <code object item_enclosure_length at 0x7fe6daeccb30, 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.PostsAtom object at 0x7fe6dc2e8850>> |
obj | <BlogPost: 8 Things I wish I’d known About Poultry farming. Don't neglect No 7> |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
/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: 8 Things I wish I’d known About Poultry farming. Don't neglect No 7> |
self | <mezzanine.blog.feeds.PostsAtom object at 0x7fe6dc2e8850> |
/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/img_20201006_001652.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/img_20201006_001652.jpg' |
self | <chidiblog.s3utils.MediaStorage object at 0x7fe6da770730> |
/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/img_20201006_001652.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 0x7fe6da6f52d0> |
args | () |
kwargs | {} |
self | s3.Object(bucket_name='farm-assets', key='media/uploads/blog/img_20201006_001652.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/img_20201006_001652.jpg'} |
parent | s3.Object(bucket_name='farm-assets', key='media/uploads/blog/img_20201006_001652.jpg') |
self | <boto3.resources.action.ServiceAction object at 0x7fe6da6f52d0> |
/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/img_20201006_001652.jpg'} |
operation_name | 'HeadObject' |
py_operation_name | 'head_object' |
self | <botocore.client.S3 object at 0x7fe6d96a7070> |
/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/img_20201006_001652.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 0x7fe6da079bd0> |
http | <botocore.awsrequest.AWSResponse object at 0x7fe6dbd79900> |
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 08:58:34 GMT', 'server': 'AmazonS3', 'x-amz-delete-marker': 'true', 'x-amz-id-2': 'JRd73kBSEJlTmdPWEHxNBCqfPuCg2lxyt574k0CUJti66jxWhUIylOMIKvlR4b935KKGNaEQ+1N8xXE8WEYVkctJClNZC0cZeOctqGygFPE=', 'x-amz-request-id': '54R7HM00R9QNS683', 'x-amz-version-id': 'ZOTVdBFM.IPr_4GNCiMybfrLAW9zuoh2'}, 'HTTPStatusCode': 404, 'HostId': 'JRd73kBSEJlTmdPWEHxNBCqfPuCg2lxyt574k0CUJti66jxWhUIylOMIKvlR4b935KKGNaEQ+1N8xXE8WEYVkctJClNZC0cZeOctqGygFPE=', 'RequestId': '54R7HM00R9QNS683', 'RetryAttempts': 0}} |
request_context | {'auth_type': 'v4', 'client_config': <botocore.config.Config object at 0x7fe6d96a7370>, 'client_region': 'us-east-1', 'has_streaming_input': False, 'retries': {'attempt': 1, 'invocation-id': 'e97f2858-9848-413e-957c-62aab86d9c2d', 'max': 5}, 's3_redirect': {'bucket': 'farm-assets', 'params': {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/img_20201006_001652.jpg'}, 'redirected': False}, 'signing': {'disableDoubleEncoding': True, 'region': 'us-east-2', 'signing_name': 's3'}, 'timestamp': '20240328T085835Z'} |
request_dict | {'auth_path': '/farm-assets/media/uploads/blog/img_20201006_001652.jpg', 'body': b'', 'context': {'auth_type': 'v4', 'client_config': <botocore.config.Config object at 0x7fe6d96a7370>, 'client_region': 'us-east-1', 'has_streaming_input': False, 'retries': {'attempt': 1, 'invocation-id': 'e97f2858-9848-413e-957c-62aab86d9c2d', 'max': 5}, 's3_redirect': {'bucket': 'farm-assets', 'params': {'Bucket': 'farm-assets', 'Key': 'media/uploads/blog/img_20201006_001652.jpg'}, 'redirected': False}, 'signing': {'disableDoubleEncoding': True, 'region': 'us-east-2', 'signing_name': 's3'}, 'timestamp': '20240328T085835Z'}, '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/img_20201006_001652.jpg', 'url_path': '/media/uploads/blog/img_20201006_001652.jpg'} |
self | <botocore.client.S3 object at 0x7fe6d96a7070> |
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 | '52.91.67.23' |
HTTP_CF_IPCOUNTRY | 'US' |
HTTP_CF_RAY | '86b66b4c4e662d09-IAD' |
HTTP_CF_VISITOR | '{"scheme":"https"}' |
HTTP_CONNECTION | 'close' |
HTTP_CONNECT_TIME | '0' |
HTTP_HOST | 'www.poultryfarmguide.com' |
HTTP_REFERER | 'https://poultryfarmguide.com/blog/category/tipsguides/feeds/atom/' |
HTTP_TOTAL_ROUTE_TIME | '0' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_VIA | '1.1 vegur' |
HTTP_X_FORWARDED_FOR | '52.91.67.23, 172.71.222.121' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REQUEST_ID | '72cc852d-69f2-46c5-aaf3-d2c7d3fc81fb' |
HTTP_X_REQUEST_START | '1711616314535' |
PATH_INFO | '/blog/category/tipsguides/feeds/atom/' |
QUERY_STRING | '' |
RAW_URI | '/blog/category/tipsguides/feeds/atom/' |
REMOTE_ADDR | '10.1.8.190' |
REMOTE_PORT | '23235' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '32823' |
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.19.42.186', 32823), raddr=('10.1.8.190', 23235)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fe6dc2eac50> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7fe6dc2ea5c0> |
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.