Как я могу загрузить точный загруженный файл в 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
, а не , поэтому вы указываете это в шаблонах URL с:name
# ↓ not name
path('getdata2/<str:nameparam>/',views.pdfNotes,name='pdfNotes'),