Как передать временные расшифрованные данные в шаблон django

У меня есть приложение, которое может загружать файлы в любом формате, которые я хочу зашифровать и сохранить в базе данных Я также создал функциональность расшифровки, но я не знаю, как показать этот расшифрованный файл пользователю или шаблонам django. Я перепробовал много способов, например, библиотеку TemFile, но все равно не могу передать расшифрованные данные шаблонам

вот мой код для шифрования


def encrypt (request):
    if request.method == 'POST':
        upload_file = request.FILES.get("like")
        # key generation
        key = Fernet.generate_key()
        encode_key = urlsafe_base64_encode(force_bytes(key))
        print(encode_key)
        document = FileEncrypt.objects.create(document = upload_file,key=encode_key)

        # using the generated key
        fernet = Fernet(key)
            # opening the original file to encrypt
        with open(document.document.path, 'rb') as file:
            original = file.read()
            
        # encrypting the file
        encrypted = fernet.encrypt(original)
        with open(document.document.path, 'wb') as encrypted_file:
            encrypted_file.write(encrypted)
        document.save()

        return redirect("decrypt_and_show", id=document.id)

    else:
        return render(request,"index.html",{

        })

после перенаправления на страницу расшифровки она не показывает файл вот мой деф расшифровки



def decrypt(request,id):
    document = FileEncrypt.objects.get(pk=id)

    decode_key =force_text(urlsafe_base64_decode(document.key))
    print(decode_key)
    fernet = Fernet(decode_key)

    # opening the encrypted file
    with open(document.document.path, 'rb') as enc_file:
        encrypted = enc_file.read()

    # decrypting the file
    decrypted = fernet.decrypt(encrypted)

    tmpfile = tempfile.NamedTemporaryFile(delete=False,suffix='.JPEG')

    tmpfile.seek(0)
    tmpfile.write(decrypted)

    return render(request,"index2.html",{
        "d" : tmpfile.name
    })



в моем шаблоне есть



{% load static %}

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="{% static 'fileuploads/js/script.js' %}" defer></script>
  </head>
  <body>
  
    <img src="{{d}}" />
   
  </body>
</html>

в моем индексном шаблоне есть



{% load static %}

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="{% static 'fileuploads/js/script.js' %}" defer></script>
  </head>
  <body>
    <form action"" method="POST" enctype="multipart/form-data">
        {% csrf_token %}
     <input type="file"  name="like"  /> 
    {% comment %} {{form}} {% endcomment %}
    <button type="submit">Upload</button> 
    </form>
  </body>
</html>

не могли бы вы мне помочь.

Вернуться на верх