2014-03-04 3 views
0

django-tables2를 사용하여 앱 테이블을 렌더링하고 있습니다. 개체에 <a> </a> 링크가 포함 된 열을 추가해야합니다.장고 테이블 2 : LinkColumn

# Extract of myapp views.py 

class ScanView(View): 
    template_name = 'scanner/scan.html' 

    def get(self,request, *args, **kwargs): 

     scans = Scan.objects.all().order_by('-last_date') 
     scans_tb = ScanTable(scans, prefix="1-") 
     RequestConfig(request, paginate=False).configure(scans_tb) 
     context = {'scans_tb': scans_tb} 

     return render(request, self.template_name, context) 


class ScanDetailView(View): 

    template_name = 'scanner/detail.html' 

    def get(self,request, scan_id): 
     scan = get_object_or_404(Scan, pk=scan_id) 
     context = {'scan': scan,} 

     return render(request, self.template_name, context) 

#extract of urls.py 

    url(r'^scan$', views.ScanView.as_view()), 
    url(r'^scan/(?P<scan_id>\d+)/$', views.ScanDetailView.as_view(), name='detail'),) 

#Extract of tables.py 

class ScanTable(tables.Table): 
    link = tables.LinkColumn('detail', args=[tables.A('pk')]) 

    class Meta: 
     model = Scan 
     attrs = {'class':'paleblue'} 

link라는 이름의 열이 있지만 그 안에 아무것도 :

여기 내 코드입니다. 내가 놓친 것을 보지 못한다. 누군가 나를 도울 수 있겠는가?

감사합니다.

+0

'context = {'scan ': scan,}'에서 쉼표를 제거해보십시오. – Drewness

+0

@Drewness 쉼표로 시도했지만 의심치 않습니다. 쉼표없이 시도했지만 링크 셀에는 아무 것도 없습니다. – user3379728

답변

1

Django-tables2는 열 이름을 사용하여 모델에 표시 할 값을 찾습니다. 모델에 link 필드가 있습니까? 그렇지 않은 경우 비워 둡니다. 또는 열에 '기본'속성을 제공 할 수 있습니다. 즉,

class ScanTable(tables.Table): 
    link = tables.LinkColumn('detail', args=[tables.A('pk')], default='Link') 

    class Meta: 
     model = Scan 
     attrs = {'class':'paleblue'} 
+0

나는 이해하지 못한다. 내 이해에서 LinkColumn은 reverse (urlresolver)를 사용하여 정확한 ID로 내 ScanDetailView에 대한 링크를 자동으로 작성하도록 설계되었습니다. – user3379728

+0

무슨 일이 일어나고 있는지 생각해 보면 링크가 있지만 텍스트를 클릭하지 않은 것입니다 (빈 '' 태그). 따라서 클릭 할 수있는 텍스트가 필요합니다. – joerick