Django : попытка вызвать метод get после метода post для представления класса
Я сделал classview для загрузки файлов в azure blobstorage, показывает таблицу истории загруженных файлов и позволяет отображать их в правой части страницы.
У меня проблема, когда файл загружается методом POST, выбранный ранее файл не выполняется методом GET, поэтому содержимое не загружается в контекст и не может быть отображено в шаблоне.
 Я придумал два решения. Первое - это вызов метода GET в конце метода POST. Однако это не работает и не кажется эффективным согласно документации stackoverflow. Поэтому я оставил его в качестве комментария в конце метода POST. Другим решением является перенаправление на этот же classview, однако и это не работает: ValueError: The view documents.views.view didn't return an HttpResponse object. It returned None instead.
Как я могу выполнить этот метод get без копирования строк кода в методе post.
views.py
html
<!DOCTYPE html>
<html lang="en">
{%  load static %} 
<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>
    <!-- Boxicons CSS -->
    <link   href='https://unpkg.com/boxicons@2.1.1/css/boxicons.min.css' 
            rel='stylesheet'>
    <link rel="stylesheet" href="{% static 'style.css' %}">
</head>
<body>
    {{ encodedstring | json_script:'fileDATA' }} 
    {{ extension | json_script:'fileEXT'}}
    
    <div class="upload-app">
        <div class="upload-in">
            <h2>Upload</h2>
            <form method="post" enctype="multipart/form-data">
                
                {% csrf_token %}
                {{ form.as_p }}
                <button type="submit" id="submitupload">Upload</button>
            </form>
        
            <div class="fileselect">
                <p>Selected files :</p>
                    <div id="fileselect"></div>
            </div>     
        </div> 
        <div class="listfiles">
            <h2>Files Uploaded</h2>
            <table id="customers">
                <tr>
                    <th>Filename</th>
                    <th>Date</th>
                    <th>Size</th>
                    <th>Actions</th>
                </tr>
                {% for file in object_list %}
                <tr>
                    <td>{{ file.Filenamebeforeindex }}</td>
                    <td>{{ file.Timestamp | date:'d.m.Y H:i'}}</td>
                    <td>{{ file.Sizefile | filesizeformat}}</td>
                    <td class="iconsColumn">
                        <a href="">
                            <i class='bx bxs-download'></i>
                        </a>
                        <a href="?fileID={{ file.Id }}">
                            <i class='bx bxs-file-pdf' ></i>
                        </a>
                    </td>>
                </tr>
                {% endfor %}
            </table>
    </div>
    <div id="pdfdisplay">
    </div>
urls.py
from django.urls import path from documents.views import *
urlpatterns = [ 
    path('documents/', DocumentUpload.as_view(), name="documents"),
   ]
                
 Вы не можете работать с DocumentUpload.as_view(), так как это конструирует функцию, и каждый раз другой объект функции, отсюда и ошибка.
Вы можете использовать имя представления:
urlpatterns = [
    path('documents/', DocumentUpload.as_view(), name='documents'),
]
 поскольку это здесь 'document", мы можем перенаправить с:
return redirect('document')
 или если есть app_name в urls.py, с:
return redirect('app_name:document')