Python Django NoReverseMatch模板错误

Python Django NoReverseMatch模板错误,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,朋友们,我和NoReverseMatch错误斗争了几天,我似乎找不到代码的错误。我必须说我对Django很陌生,所以如果你能解释一下你对这个问题的解决方案,我会非常感激,这样我就可以从中学习:) 错误 NoReverseMatch at /david/Physics/ Reverse for 'subcategory' with keyword arguments '{'subcategory_name': 'a'}' not found. 1 pattern(s) tried: ['david

朋友们,我和NoReverseMatch错误斗争了几天,我似乎找不到代码的错误。我必须说我对Django很陌生,所以如果你能解释一下你对这个问题的解决方案,我会非常感激,这样我就可以从中学习:)

错误

NoReverseMatch at /david/Physics/
Reverse for 'subcategory' with keyword arguments '{'subcategory_name': 'a'}' not found. 1 pattern(s) tried: ['david/([a-zA-Z_]+)/(?P<subcategory_name>[a-zA-Z_]+)/$']
如果我需要提供更多信息,请告诉我:)
希望您能帮助我。

您的子类别URL模式中有两个捕获组(信息组中有三个)。这意味着它将匹配以下内容:

/param1/subcategory_name/
您没有为第一个组指定名称,也没有将其传递到
{%url%}
标记中。你确定要吗?您可能应该删除它,以便您的模式成为

r'^(?P<subcategory_name>[a-zA-Z_]+)/$',
也许第一个参数就是类别

from django.shortcuts import render, get_list_or_404, get_object_or_404
from django.http import HttpResponse 

from .models import Category, Subcategory

# Create your views here.

def index(request):
    return render(request, 'basic_web/index.html')

def search(request):
    return HttpResponse('Here you can search!')

def browse(request):
    categories = Category.objects.all()
    context = {'categories': categories}
    return render(request, 'basic_web/browse.html', context)

def view_category(request, category_name):
    category = get_object_or_404(Category,name__iexact=category_name)
    subcategories = get_list_or_404(Subcategory, parent=category)
    context = {'subcategories': map(lambda x: str(x), subcategories)}
    return render(request, 'basic_web/category.html', context)

def view_subcategory(request, subcategory_name):
    return HttpResponse('You are now browsing subcategory %s' % subcategory_name)

def view_information(request, information):
    return HttpResponse('You are now seeing %s' % information)
/param1/subcategory_name/
r'^(?P<subcategory_name>[a-zA-Z_]+)/$',
 url(r'^(?P<param_name>[a-zA-Z_]+)/(?P<subcategory_name>[a-zA-Z_]+)/$',
{% url 'subcategory' param_name=param subcategory_name=subcategory %}