TypeError: export_users_xls() missing 1 required positional argument: 'request'

731 Views Asked by At

when I am trying to run i got this error

File "/home/normsoftware/WORK/JVB/healthtracker/quicklook/urls.py", line 39, in <module>
    url(r'^users/print$',views.export_users_xls(),name="Exceldata"),
TypeError: export_users_xls() missing 1 required positional argument: 'request'    

views.py

def export_users_xls(request):
    response = HttpResponse(content_type='application/ms-excel')
    response['Content-Disposition'] = 'attachment; filename="users.xls"'

    wb = xlwt.Workbook(encoding='utf-8')
    ws = wb.add_sheet('Users')

    # Sheet header, first row
    row_num = 0

    font_style = xlwt.XFStyle()
    font_style.font.bold = True

    columns = ['first', 'last',]

    for col_num in range(len(columns)):
        ws.write(row_num, col_num, columns[col_num], font_style)

    # Sheet body, remaining rows
    font_style = xlwt.XFStyle()

    rows = Registration.objects.all().values_list('first', 'last')
    for row in rows:
        row_num += 1
        for col_num in range(len(row)):
            ws.write(row_num, col_num, row[col_num], font_style)

    wb.save(response)
    return response

all line indentations are correct

urls.py

url(r'^users/print$',views.export_users_xls(),name="Exceldata"),
1

There are 1 best solutions below

0
On

Change your url to this: url(r'^users/print$',views.export_users_xls ,name="Exceldata")

as you see I am not executing export_users function (so remove your parenthesis), see this examples: https://docs.djangoproject.com/en/2.0/topics/http/urls/#example