2012-12-14 2 views
7

슬러그를 올바르게 사용하여 객체 목록에서 상세보기를 만드는 방법에 대해 많이 읽은 후. 그러나 나는 아직도 나를 위해 일하는 데 문제가있다. 내가 좋아하는 내 템플릿에 개체의 목록을 표시하고 있습니다 :Slug Url Django의 Regex

{% for thing in thing_list %} 
    <div class='thing-detail'><a href='{% url detail %}'><img src='theimage.png' /> 
{% endfor %} 

그러나 detailNoReverseMatch 오류가 발생하고있다.

나는 내 정규식에 잘못된 것이 있거나 실종되었다고하는 더 좋은 방법이 있다고 생각한다.

정규식 :

url(r'^thing/(?P<slug>[\w-]+)/$', 'views.detail', name='detail'), 

보기 :

def detail(request, slug): 
    thing = get_object_or_404(Thing, slug=slug) 
    return render(request, 'detail.html', {'thing': thing}) 

모델 :

class Thing(models.Model): 
    user = models.ForeignKey(User) 
    created_on = models.DateTimeField(auto_now_add=True) 
    slug = models.SlugField() 

    def save(self, **kwargs): 
     slug = '%s' % (self.user) 
     unique_slugify(self, slug) ## from http://djangosnippets.org/snippets/1321/ 
     super(Thing, self).save() 

이 도움을 주셔서 감사합니다!

답변

7

detail URL을 작성하는 데는 아무런 인수도 전달하지 않습니다. 당신은 아마이 작업을 수행 할 :. 채워 주어진 슬러그와 detail URL을 생성합니다

{% url "detail" thing.slug %} 

+0

내가 "자세히"를 따옴표로 포장해야한다고 생각 .. – mccc