在tables.py中,我已经导入了django-tables2 2。
class CarownerTable(tables.Table):
...
Car_registration=tables.LinkColumn('register_docs', args =[A('register__id')], text='View Register', orderable=False)我的urls.py是这样的,
url(r'^register_docs/$', views.register_docs, name='register_docs' ),
url(r'^register_docs/(?P<docid>(\d)+)$', views.register_docs, name='register_docs' ),他的观点是
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")问题是,当我加载结果时,有些对象没有附加文档。造成这
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$'] 我尝试并创建了两个url,一个接受参数,另一个不接受,但它仍然不允许那些不接受参数的表加载。我希望两者都装载,即使汽车登记文件不能加载。
发布于 2016-10-21 14:44:21
因此,如果您的一些记录缺少agrs的值,则解决方案是不使用linkColumn。
如果需要在django-tables2 2中显示信息,则列可能有或可能没有url链接使用所需的信息。
templateColumn例如
templateRegister = tables.TemplateColumn(template_name="carmanager/registertemplate.html")registertemplate.html应该是这样的
<a {% if record.register__id %} target="_Blank" href="/carmanager/register_docs/{{record.register__id}}"> View Register {%else%} > No register {%endif%}</a> https://stackoverflow.com/questions/40135186
复制相似问题