【发布时间】:2021-11-17 22:26:12
【问题描述】:
我正在编写一个代码来使用我通过 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'),
这里使用上面的代码正确下载文件 但是当我使用下面的代码并以 book 的名称调用第二个函数时,而不是下载我上传的文件,而是下载 index.html 页面。
<a href="{% 'getdata2' 'book1' %}" download>download2</a>
因为这个 urls.py 是path('getdata2/<str:name>/',views.pdfNotes,name='pdfNotes'),
是因为我正在使用过滤器吗?还是问题出在其他地方? 我也想下载特定文件,这就是我在这里使用过滤器的原因...... 如果您有任何解决方案,请分享。
【问题讨论】:
标签: python html django jinja2 downloadfile