2011-10-07 7 views
1

URL을NoReverseMatch/

url(r'^add/$', 'advice.views.add_new_advice'), 
url(r'^$', 'advice.views.index'), 
url(r'^(?P<advice_id>\d+)/$', 'advice.views.detail'), 

전망

def add_new_advice(request): 
    if request.method == "POST": 
     form = AdviceForm(request.POST) 
     if form.is_valid(): 
      new_advice = form.cleaned_data["advice"] 
      advice = Advice(advice = new_advice) 
      advice.save() 
      return redirect('detail', advice_id = advice.id) 
    else: 
     form = AdviceForm() 

    return render_to_response("create.html", {"form" : form}, 
           context_instance=RequestContext(request)) 

def detail(request, advice_id): 
    try: 
     advice = Advice.objects.get(pk = advice_id) 
    except Advice.DoesNotExist: 
     return redirect('index') 

    return render_to_response("detail.html", {"advice" : advice}) 

def index(request): 
    advices = Advice.objects.all() 
    advice = choice(advices) 

    return redirect('detail', advice_id = advice.id) 

이봐, 난이 문제를 가지고

를 리디렉션. 세부 기능으로 리디렉션 될 때마다 /에서 NoReverseMatch를 얻습니다. 도와주세요.

NoReverseMatch at/
Reverse for 'detail' with arguments '()' and keyword arguments '{'advice_id': 7}' not found. 
+0

NoReverseMatch? –

+0

전체 오류가 추가되었습니다. – Marijus

답변

0

"detail"을 호출하지 않으므로 찾을 수 없습니다. urls.py에 이름을 추가하거나, 함수의 전체 경로를 사용하거나, 문자열 대신 함수 자체를 전달하십시오.

관련 문제