Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

python - Django: How to display a pdf file in a new tab?

Most of the posts showing how to open a pdf file in a new tab are 3 years old. What is the best way in Django to open a pdf file uploaded to a model?

invoice.py

class Invoice(models.Model):
    
    file = models.FileField(upload_to='estimates/', blank =True)
    name = models.CharField(max_length=250, blank =True)    

    def __str__(self):
        return self.name

views.py

def view_invoice(request, invoice_id):
    invoice = get_object_or_404(Invoice, pk=invoice_id)
    return render(request, 'index_invoice.html', {'invoice': invoice}) 

index_invoice.html

<a href=""><i class="fas fa-eye"></i>&nbsp;</a>

Many Thanks

question from:https://stackoverflow.com/questions/65926111/django-how-to-display-a-pdf-file-in-a-new-tab

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You should be able to use the FileField's url:

<a href="{{ invoice.file.url }}"><i class="fas fa-eye"></i>&nbsp;</a>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...