友人、私は数日の間にNoReverseMatchエラーに苦しんでおり、コードに何が間違っているのか分からないようです。私はDjangoのに非常に新しいですと言わなければならない、だから私はそれから学ぶことができるようにあなたが問題にソリューションを説明する場合、私はそれは非常に感謝:)Django NoReverseMatchテンプレートでエラー
エラー
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_]+)/$']
を
category.html:
<h1>The subcategories for {{ category }}</h1>
{% if subcategories %}
<ul>
{% for subcategory in subcategories %}
<li><a href="{% url 'subcategory' subcategory_name=subcategory %}">{{ subcategory }}</a></li>
{% endfor %}
</ul>
{% else %}
<h4>No subcategories for that category</h4>
{% endif %}
urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^search/$', views.search, name='search'),
url(r'^browse/$', views.browse, name='browse'),
url(r'^(?P<category_name>[a-zA-Z_]+)/$', views.view_category, name='category'),
url(r'^([a-zA-Z_]+)/(?P<subcategory_name>[a-zA-Z_]+)/$',
views.view_subcategory, name='subcategory'),
url(r'^([a-zA-Z_]+)/([a-zA-Z_]+)/(?P<information>[a-zA-Z_]+)/$',
views.view_information, name='information'),
]
views.py:
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)
もっと情報を提供する必要がある場合は、私に教えてください。 あなたが私を助けてくれることを願っています。
はい!それが問題でした!どうもありがとうございます! – Andromedous