2017-09-03 1 views
1

Hallo Jungs sind stecken versuchen zu abfragen Datei in einem foreignkey verwendet ist, aber es funktioniert nicht django einen Fehler wirft ich versucht habe, gerade dies zu tun, lange für I gab und jetzt bin ich wieder da, brauche Hilfe!Wie Dateiabfrage Feld, dass ich alle Fremdschlüssel

from __future__ import unicode_literals 

from django.db import models 


class Examination(models.Model): 
    examination_name = models.CharField(max_length=50, unique=True) 

    class Meta: 
     verbose_name='examination' 
     verbose_name_plural='examinations' 

    def __unicode__(self): 
     return self.examination_name 

class YearAndExaminationName(models.Model): 
    exam_name = models.ForeignKey(Examination) 
    examination_year = models.CharField(max_length=4) 


    class Meta: 
     verbose_name='year and examination name' 
     verbose_name_plural='year and examination names' 

    def __unicode__(self): 
     return self.examination_year 


class PastQuestion(models.Model): 
    year_and_exam_name = models.ForeignKey(YearAndExaminationName) 
    file_name = models.CharField(max_length=40, default='self') 
    file = models.FileField(upload_to='uploads/', max_length=100,) 
    posted_by = models.CharField(max_length=40) 


    def __unicode__(self): 
     return self.file_name 

Was ich tun sollte, PDF-Dateien angezeigt wird durch Bezugnahme auf über ID oder pk aus dem Blick zu bekommen, aber wenn ich die Suche oder Google Stackoverflow, was ich bekommen ist, wie HTML in PDF zu konvertieren.

meine Ansichten

def jamb_detail(request): 
    instance = get_object_or_404() 
    context = { 
    "title":"Jamb Past Question", 
    "instance":instance.year_and_exam_name, 
    } 
    return render(request, 'past_question/jamb_detail.html', context) 
+0

sind Ihre views.py –

+0

Ich habe keine Ahnung, wie etwa Rendern der pdf zu gehen. seit dem Hochladen von django admin. – user6771817

Antwort

0

In views.py

def pdf_view(request): 

    # get file path by querying model and then 
    with open('/path/to/my/file.pdf', 'rb') as pdf: 
     response = HttpResponse(pdf.read(), mimetype='application/pdf') 
     response['Content-Disposition'] = 'inline;filename=some_file.pdf' 
     return response 
    pdf.closed 
+0

Muss ich die Datei angeben, die ich anzeigen möchte? weil ich nicht so auf der Anzeige nur eine PDF-Datei hier gezeigt plane ich eine Menge Datei von meinem Modell bin Hochladen mag ich die Dateinamen angezeigt wird, dann werde ich im Browser gerendert die pdf erhalten. file_name = models.CharField (max_length = 40, default = 'self') dann werde ich die PDF-Datei anzeigen. – user6771817

+0

Ja, Sie müssen die Datei angeben. –

+0

, aber ich werde viele Dateien abfragen. Wie bekomme ich einen Post von id = id ......? bin hier irgendwie verwirrt. – user6771817

Verwandte Themen