In tables.py habe ich importiert django-tables2Reverse für Ansicht schlägt fehl, weil Argument None ist
class CarownerTable(tables.Table):
...
Car_registration=tables.LinkColumn('register_docs', args =[A('register__id')], text='View Register', orderable=False)
Mein urls.py wie folgt aussieht,
url(r'^register_docs/$', views.register_docs, name='register_docs'),
url(r'^register_docs/(?P<docid>(\d)+)$', views.register_docs, name='register_docs'),
und die Ansicht als
def register_docs(request, docid=None):
#This view allows for the display of the pdf file
if docid is None:
#this line here loads a default image
doclink = '........./Car/Misc/noImageOnFile.pdf'
return HttpResponse(doclink, content_type="application/pdf")
else:
register_doc_path = Register.objects.get(pk=docid).register_File_Path
register_doc_data = open(register_doc_path, "rb").read()
t = loader.get_template('carmanager/display_docs.html')
variables = RequestContext(request, {'file':register_doc_data})
output = t.render(variables)
return HttpResponse(register_doc_data, content_type="application/pdf")
Das Problem ist, dass, wenn ich Ergebnisse lade einige der Objekte kein Dokument an sie angehängt. diese verursachen
Reverse for 'register_docs' with arguments '(None,)' and keyword arguments '{}' not found. 2 pattern(s) tried: ['carmanager/register_docs/(?P<docid>(\\d)+)$', 'carmanager/register_docs$']
Ich habe versucht, und zwei url erstellen, die ein Argument und man akzeptiert, das nicht, aber es wird nicht immer noch erlauben, die Tabelle mit den zu laden, die nicht haben. Ich möchte beide laden, obwohl ein Auto-Registrierungsdokument nicht geladen werden kann.