난`장고 1.10를 사용하고 나는이 오류가 :NoReverseMatch/장고 1.10
인수 'views.product_detail' '()'및 키워드 인자 '{'PK에 대한 역 /에서 NoReverseMatch ' : 1} '을 (를) 찾을 수 없습니다. 0 패턴 (들)이 시도 :
{% for pr in product %}
<li>
{{ pr.pk }}
<a href="{% url 'views.product_detail' pk=pr.pk %}">
{{ pr.name }}
</a>
|| {{ pr.description }} || <img src="{{ pr.image.url }}">
</li>
{% endfor %}
내 주요 프로젝트 urls.py은 다음과 같습니다 :
이urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', include('products.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
내 앱의 urls.py은 []
이것은 내 index.html을 템플릿입니다 :
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.hello_world, name='hello'),
url(r'^product/(?P<pk>[0-9]+)/$', views.product_detail,name='product_detail'),
]
내 views.py은 다음과 같습니다
from django.http import HttpResponse, HttpResponseRedirect
from django.template import loader
from django.shortcuts import render, get_object_or_404
from .models import Product
# Create your views here.
def hello_world(request):
product = Product.objects.order_by('id')
template = loader.get_template('index.html')
context = {
'product': product
}
return HttpResponse(template.render(context, request))
def product_detail(request, pk):
product = get_object_or_404(Product, pk=pk)
template = loader.get_template('product_detail.html')
context = {
'product': product
}
return HttpResponse(template.render(context, request))
오류 메시지는 다음과 같습니다 도와 Error message
감사합니다!
이와 같은 URL 태그를 사용하면 안됩니다. 대신, permalink 데코레이터를 사용하십시오. https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#get-absolute-url –