Как я могу загрузить точный загруженный файл в django...?

Я писал код для загрузки файла по ссылке, которую я загрузил через модель в django.

т.е. в моем model.py

class uploadFile(models.Model):
    id=models.CharField("Book id ",max_length=200,null=True,default="")
    name=models.CharField("Book name",max_length=200,null=True,default="")
    file=models.FileField(upload_to="media/ebooks")

и в моем view.py у меня есть 2 функции

def getdata(request):
    books=uploadFile.objects.all()
    n=len(QPapers)
    print("hello",QPapers)
    params={'QPapr':QPapers,'total_items':n}
    return render(request,'index.html',params)

def getdata2(request,nameparam):
    books=uploadFile.objects.all().filter(name=nameparam)
    n=len(QPapers)
    print("hello",QPapers)
    params={'QPapr':QPapers,'total_items':n}
    return render(request,'index.html',params)

и в index.html

 <a href="{% 'getdata' %}" download>download1</a>

для этого urls.py является path('getdata',views.pdfNotes,name='pdfNotes'),

здесь файл загружается правильно с помощью вышеприведенного кода но когда я использую приведенный ниже код и вызываю 2-ю функцию с названием книги, то вместо загруженного файла загружается страница index.html.

<a href="{% 'getdata2' 'book1' %}" download>download2</a>

для этого urls.py является path('getdata2/<str:name>/',views.pdfNotes,name='pdfNotes'),

Это из-за фильтра, который я использую? Или проблема где-то еще? Я хочу, чтобы скачивался определенный файл, поэтому я и использую фильтр... Пожалуйста, поделитесь, если у вас есть какое-либо решение.

Имя параметра вашего представления nameparam, а не name, поэтому вы указываете это в шаблонах URL с:

#                      ↓ not name
path('getdata2/<str:nameparam>/',views.pdfNotes,name='pdfNotes'),
Вернуться на верх