Каковы некоторые возможные причины, по которым в Python может возникнуть ошибка, но указывающая на неправильную строку?
Я использую Django и Python 3.9. Я получаю KeyError at /myapp/myroute
, на что он сообщает мне значение ключа, который я пробовал. Проблема в том, что оно указывает на строку 929, которая является else:
.
# this is the path to the engraving
if "filename" in request.session:
if "file_url" in request.session:
ip = request.session["file_url"]
# error here - this is line 925 in my code
else:
s3 = boto3.client('s3')
ip = f"""{request.session["iam"]}/Engravings/{request.session["filename"]}"""
request.session["file_url"] = ip
if ip != us.ImagePath:
change = True
else:
return redirect("index")
s3r = boto3.resource("s3")
obj = None
if "qrp" not in request.session:
request.session["qrp"] = ""
try:
request.session["qrp"] = f"""{request.session["iam"]}/UserQRCodes/{str(request.session["usid"])}.png"""
obj = s3r.Object('iet-ticket-bucket', qrfn)
obj.load()
except botocore.exceptions.ClientError as e:
if e.response["Error"]["Code"] == "404":
img = q.make(json.dumps({"id": request.session["usid"], "storename": ""}))
iba = io.BytesIO()
img.save(iba, format="PNG")
s3 = boto3.client('s3')
s3.put_object(Bucket="iet-ticket-bucket", Key=request.session["qrp"], Body=iba.getvalue(), ContentType="image/png")
request.session["qrp"] = qrp
change = True
qrp = request.session["qrp"]
Я немного погуглил, и, конечно, возможно, я ищу не то, что нужно, но есть ли у кого-нибудь возможные предположения о том, в чем проблема? Если вы можете включить в свой ответ любые другие подобные проблемы и их решения, это было бы очень полезно. Спасибо.
Stack Trace:
Traceback (most recent call last):
File "/home/ec2-user/django/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/ec2-user/django/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ec2-user/DjangoProjects/appws/app/views.py", line 926, in thank_you
else:
File "/home/ec2-user/django/django/contrib/sessions/backends/base.py", line 53, in __getitem__
return self._session[key]
KeyError: 'qrp'