2014-10-18 3 views
0

블로그에 대한 단일 게시물보기에 문제가 있습니다. 슬러그 라인과 콘텐츠 ID를 사용하는 URL을 구현하려고합니다. ','u'test 포스트-3 '인수'기사 ''() '및 키워드 인자'{ 'slugline에 대한/관리/r/7/2/ 역에서장고 NoReverseMatch at/admin/r/7/2/오류 url

NoReverseMatch : 여기 내 오류입니다 id ': 2}'을 (를) 찾을 수 없습니다. 0 패턴 (들) 시도 : []

가 views.py :

from django.shortcuts import render, get_object_or_404 
from django.http import HttpResponse, HttpResponseRedirect 
from django.template import RequestContext, loader 
from django.core.urlresolvers import reverse 
from django.views import generic 
from django.utils import timezone 

# Create your views here. 

from articles.models import Content 

class IndexView(generic.ListView): 
    template_name = 'articles/index.html' 
    context_object_name = 'latest_articles_list' 

    def get_queryset(self): 
     return Content.objects.filter(
      published_date__lte=timezone.now() 
     ).order_by('-published_date')[:5] 


def detail(request, slugline, poll_id): 
    article = get_object_or_404(pk=poll_id) 
    return render(request, 'articles/detail.html', {'article': article}) 

urls.py :

from django.conf.urls import patterns, url 
from articles import views 

urlpatterns = patterns('', 
    url(r'^$', views.IndexView.as_view(), name = 'index'), 
    #url(r'^(?P<slugline>[-\w\d]+), (?P<pk>\d+)/$', views.DetailView.as_view(), name='detail') 
    url(r'^(?P<slugline>[-\w\d]+),(?P<id>\d+)/$', view=views.detail, name='article'), 
) 

models.py :

from django.db import models 
from django.db.models import permalink 
from django.utils import timezone 
import datetime 
# Create your models here. 


class Content(models.Model): 
    title = models.CharField(max_length=100, unique=True) 
    slugline = models.SlugField(max_length=100, unique=True) 
    body = models.TextField() 
    published_date = models.DateTimeField('date published') 

    def __unicode__(self): 
     return self.title 

    @permalink 
    def get_absolute_url(self): 
     return ('article',(), { 
      'slugline': self.slugline, 
      'id': self.id, 
     }) 

    def was_published_recently(self): 
     now = timezone.now() 
     return now - datetime.timedelta(days=1) <= self.published_date <= now 
    was_published_recently.admin_order_field = 'published_date' 
    was_published_recently.boolean = True 
    was_published_recently.short_description = 'Published recently?' 
+0

왜 "admin"이 표시됩니까? ... 올바른 URL을 찾고 있습니까? – cdvv7788

+0

/admin/url 패턴을 구성한 것처럼 보이지 않지만 오류 메시지가 사용자가 관리자 패널에 액세스하려고한다는 것을 나타내는 것 같습니다. –

+0

나는 그것도 궁금해하고 있었다. 관리자 페이지는 기본 url.py에 매핑됩니다. '세부 정보'페이지에 액세스하는 동안 왜 나를 데려 오는지 모르겠다. –

답변

0

I가 get_absolute_url을한다고 생각 be :

@permalink 
def get_absolute_url(self): 
    from django.core.urlresolvers import reverse 
    return reverse('article', args=[self.slugline,str(self.id)])