2014-03-26 5 views
0

리포터의 기본보기에서 내 DetailView에 연결하는 데 문제가 있습니다. 두 URL은 모두 정상입니다. 이 문제는 잘 문서화되어 있지만 URL은 매우 혼란스럽고 솔루션을 찾을 수없는 것 같습니다. 다음은 내 views.py, table.py (이 오류로 인한 오류)의 코드입니다 (urls.py).Django NoReverseMatch DetailView 연결시 오류가 발생했습니다.

도움을 주시면 대단히 감사하겠습니다. 링크/기자/PK/세부 사항에 `

tables.py 
    import django_tables2 as tables 
from django_tables2.utils import A 
from models import Reporter 

class ReporterTable(tables.Table): 
    #my error is on the next time. It works for #list_all but not detail. 
    id = tables.LinkColumn('mysite.apps.reporters.views.detail', args=[A('pk')]) 
    class Meta: 
     model = Reporter 
     attrs = {"class": "paleblue"} 
     fields = ('id', 'surname', 'othername', 'gender') 

class ReporterViewTable(tables.Table): 
    class Meta: 
     model = Reporter 
     attrs = {"class": "paleblue"} 

views.py 
from django.shortcuts import render 
from django.http import HttpResponse 
from django.template import RequestContext, loader 
from django.views.generic.detail import DetailView 
from django_tables2 import RequestConfig 
from tables import ReporterTable, ReporterViewTable 

from models import Reporter 

class ReporterDetailView(DetailView): 
    model = Reporter 

    def get_context_data(self, **kwargs): 
     context = super(ReporterDetailView, self).get_context_data(**kwargs) 
     return context 

def index(request): 
    table = ReporterTable(Reporter.objects.all()) 
    RequestConfig(request).configure(table) 
    return render(request, 'reporters/index.html', {'table':table}) 

urls.py 

from django.conf.urls import patterns, include, url 

from django.views.generic import DetailView, ListView 
from views import ReporterDetailView 

urlpatterns = patterns('mysite.apps.reporters.views', 
    url(r'^$', 'index'), 
    url(r'^list_all/$', 'list_all'), 
    url(r'^(?P<pk>\d+)/detail/$', ReporterDetailView.as_view(template_name='reporters/detail.html')), 
    url(r'^(?P<reporter_id>\d+)/edit/$', 'edit'), 

) 

index.html 

{% load staticfiles %} 
{% load render_table from django_tables2 %} 
<link rel="stylesheet" type="text/css" href="{% static 'reporters/style.css' %}" /> 
{% if table %} 
<div> 
    {%render_table table %} 
</div> 
{% else %} 
    <p>No Reporters are available.</p> 
{% endif %} 

덕분에 많이 연결해야하는// 기자입니다!

다음은 전체 예외 헤더입니다.

NoReverseMatch at /reporters/ 
Reverse for 'mysite.apps.reporters.views.detail' with arguments '(1,)' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 

전체 예외는이 페이스트 용기 here에 있습니다. 당신이 당신의보기를 다른 곳에서 참조 할 수있는 이름을 줄 필요가 직접 수입 클래스 기반보기와

id = tables.LinkColumn('mysite.apps.reporters.views.detail', args=(A('pk'),)) 
+1

예외의 전문을 게시 할 수 있습니까? – ACGray

+0

@ACGray 전체 예외에 대한 링크가있는 하단 텍스트를 추가했습니다. – Timmay

답변

2

:

+0

고마워요. 문제가 해결되었습니다. 이제 더 많은 것들을 가지고 가자. – Timmay

0

args 대신 목록의 같은 튜플, 그래서 뭔가를해야

urls.py

urlpatterns = patterns('mysite.apps.reporters.views', 
    url(r'^$', 'index'), 
    url(r'^list_all/$', 'list_all'), 
    url(r'^(?P<pk>\d+)/detail/$', ReporterDetailView.as_view(template_name='reporters/detail.html'), name='reporter_detail'), 
    url(r'^(?P<reporter_id>\d+)/edit/$', 'edit'), 

)

토륨 에 ReporterTable :

id = tables.LinkColumn('reporter_detail', args=[A('pk')]) 
+0

그게 문제라고 생각하지 않습니다. 그것은 그것을 고치지 않습니다. – Timmay

관련 문제