Загрузчик для Динамических форм (Джанго) - PullRequest
1 голос
/ 04 июня 2019

views.py

У меня есть функция (для загрузки в формате Excel), например:

def download(request):
    testname = request.POST.get('testname')
    lis_final=[]
    for i in range(0,10):
        lis = []                    
        lis.insert(0,testname)
        ''' like this i had inserted 30 rows '''
        lis.insert(29,testname)
        lis_final.append(lis)
    rb = xlrd.open_workbook(os.path.join(settings.MEDIA_ROOT, 'sample.xls'),formatting_info=True)
    r_sheet = rb.sheet_by_index(0)
    r = r_sheet.nrows
    wb = copy(rb)
    sheet = wb.get_sheet(0)
    rows_insert = len(lis_final)
    for i in range(3,r+rows_insert):
        for j in range(0,30):
            sheet.write(i,j,lis_final[i-3][j])
    response = HttpResponse(content_type='application/vnd.ms-excel')
    response['Content-Disposition'] = 'attachment; filename="test.xls"'
    wb.save(response)
    return response

index.html

У меня есть тег для скачивания:

<div class="col-2"> 
    <a href="javascript:void(0)" id="excel_dwnld"><i class="fa fa-file-excel-o"></i> Download</a>                   
</div>

И я вызываю эту функцию в js для загрузки файла как:

$(document).on("click","#excel_dwnld",function(){
    var testname=$("#id_testname").val();
    var form = document.createElement("form");
    var element1 = document.createElement("input");
    form.method = "POST";
    form.action= "{% url 'test:download' %}";//function call
    element1.value=testname;
    element1.name="testname";
    element1.setAttribute("type", "hidden");
    form.appendChild(element1);
    document.body.appendChild(form);
    //$("#loader-div").show(); // this is my loader
    form.submit();  
});

Согласно моему требованию, динамическая форма должна быть создана, и эта форма должна быть загружена в Excel.

Пока форма отправляется, я хочу показать загрузчик. И после отправки и загрузки файла, этот загрузчик должен скрыться. Поскольку это ответ файла, мой загрузчик не скрывается. Пожалуйста, помогите мне.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...