Django NoReverseMatch Error -
i'm trying develop blog script django. when want show post links, noreversematch error.
my views.py
# -*- coding: utf-8 -*- # create views here. .models import yazi, yorum, kategori django.http import httpresponse, http404 django.shortcuts import render_to_response django.template import requestcontext, loader django.contrib.sites.models import site def home(request): try: posts = yazi.objects.filter(yayinlanmis=true).order_by('-yayinlanma_tarihi') except yazi.doesnotexist: raise http404 site = site.objects.get_current() c = requestcontext(request,{ 'posts':posts, 'site':site }) return render_to_response('penguencik_yazilar/yazi_list.html', c) def detail(request, slug): post = yazi.objects.get(slug=slug) site = site.objects.get_current() c= requestcontext(request,{ 'posts':post, 'site':site }) return render_to_response('penguencik_yazilar/yazi_detail.html',c)
urls.py in application folder.
from django.conf.urls import patterns, url import views urlpatterns = patterns('', url(r'^$', views.home,name='index'), url(r'^/makale/(?p<slug>[0-9a-za-z._%+-]+)$', views.detail,name='detail'), )
urls.py in project folder
from django.conf.urls import patterns, include, url # uncomment next 2 lines enable admin: django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^$', include('penguencik_yazilar.urls',namespace='blog')), url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), )
and template code. doing wrong?
{% load url future %} ... <a href="{% url 'blog:detail' yazi.slug %}">read</a>
try change this:
<a href="{% url 'blog:detail' yazi.slug %}">read</a>
to:
<a href="{% url 'blog:detail' slug=yazi.slug %}">read</a>
cause view expect slug
keyword here (?p<slug>[0-9a-za-z._%+-]+)
.
Comments
Post a Comment