Python 重定向时/重定向时的NoReverseMatch

Python 重定向时/重定向时的NoReverseMatch,python,django,Python,Django,网址 嘿,我有这个问题。每当涉及到重定向到细节函数时,我都会在/处得到NoReverseMatch。请帮忙 def add_new_advice(request): if request.method == "POST": form = AdviceForm(request.POST) if form.is_valid(): new_advice = form.cleaned_data["advice"] a

网址

嘿,我有这个问题。每当涉及到重定向到细节函数时,我都会在/处得到NoReverseMatch。请帮忙

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)

您没有调用任何
“detail”
,因此它找不到它。在urls.py中添加名称,使用函数的完整路径,或者传递函数本身而不是字符串

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 at /
Reverse for 'detail' with arguments '()' and keyword arguments '{'advice_id': 7}' not found.