2013-08-15 4 views
1

장고에서 URL 역순으로 조회하는 데 약간의 문제가 있습니다. URL의장고 역방향 URL 조회 템플릿 오류

<form action="{% url 'blog:save' post.slug %}" method="post"> 

: :보기에서

url(r'^post/(?P<slug>\w+)/save/$', views.save, name='save'), 

: 템플릿에서

def save(request, slug): 
    return HttpResponse("Not Saved.") 

오류가 나는군요 :

Exception Type: NoReverseMatch 
Exception Value: 
Reverse for 'save' with arguments '(u'',)' and keyword arguments '{}' not found. 

답변

3

post.slug 템플릿의 변수는 빈 문자열이지만 URL에 1 자 이상의 문자 (\w+)가 필요합니다. 따라서 Django는 /post//save/을 빌드하지만이 URL은 유효하지 않습니다. 당신은 더 슬러그와 함께 새 게시물을 저장해야하는 경우

는 URL의 선택적 서브 패턴을 사용

r'^post/(?:(?P<slug>\w+)/)?save/' 
+0

감사합니다! 그거였다. – ejk314