[解决方案]我需要制作{{ product.pdf }}到{{ product.pdf.url }}
我试图创建一个按钮下载PDF作为一个乞丐。这是代码:index.html:
<a href="{{ product.pdf }}" download>
<button class="text-bg-success rounded mx-auto border-0 shadow rounded" style="width: 100%;height: 100%; margin-top: 30px;">
Download
</button>
</a>
models.py:
class Product(models.Model):
pdf = models.FileField(upload_to='uploads/pdfs/', blank=False, null=False , validators=[FileExtensionValidator(allowed_extensions=["pdf","epub"])])
当我检查按钮时,它显示了wright文件:
<a href="uploads/pdfs/BOOK.pdf" download="">
<button class="text-bg-success rounded mx-auto border-0 shadow rounded" style="width: 100%;height: 100%; margin-top: 30px;">
Download
</button>
</a>
但是当我点击它的时候,它会打开一个新的标签页,什么也不做。我在考虑创建一个链接到一个空白页面,当打开这个页面时,它会启动一个下载,因为这样做可能会更好,但是我不知道这样做需要什么。或者可能有一个表格可以处理这类事情。找到另一种方法会特别有用,因为我可能需要在没有新浏览器版本的旧电脑上显示它。
我尝试点击一个没有PDF文件的产品的下载按钮,它下载了页面本身的html代码。这不是浏览器版本,因为它与他们提供的w3school模型一起工作。我还尝试删除按钮或将{{}}替换为{%%},但它什么也没做。我使用 Bootstrap 作为前端,但我不认为它与此有任何关系。
2条答案
按热度按时间mkshixfv1#
尝试使用锚标记代替,
tkclm6bt2#
您应该为下载的文件指定一个默认名称。