2015-02-20 3 views
0

я хочу сделать список категорий в моем блоге и просмотра категорииurls.py не может направить в Django

это view.py

def view_category(request, pk): 
    category = get_object_or_404(Category, pk=pk) 
    return render_to_response('blog/category_detail.html', { 
     'category': category, 
     'categories': Category.objects.all(), 
     'tags': Tag.objects.all(), 
     'posts': Post.objects.filter(category__id=pk) 
    }) 


def post_list(request): 
    posts = Post.objects.filter(published_date__isnull=False).order_by('published_date') 
    return render(request, 'blog/post_list.html', { 
     'posts': posts, 
     'categories': Category.objects.all(), 
     'tags': Tag.objects.all(), 
    }) 

def post_detail(request, pk): 
    post = get_object_or_404(Post, pk=pk) 
    return render(request, 'blog/post_detail.html', {'post': post}) 

это urls.py

from django.conf.urls import patterns, include, url 
from . import views 

urlpatterns = patterns('', 
    url(r'^post/all/$', views.post_list, name='index'), 
    url(r'^post/category/(?P<pk>[0-9]+)/$', views.view_category, name='view_blog_category'), 
    url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail), 

) 

, но я получаю ошибку, подобную этому

Exception Value: Reverse for 'view_blog_category' with arguments '()' and keyword arguments '{u'pk': ''}' not found. 1 pattern(s) tried: ['post/category/(?P<pk>[0-9]+)/$'] 

это ошибка линии:

{% for cat in categories %} 
    <li><a href="{% url 'view_blog_category' pk=category.pk %}">{{ cat.title }}</a></li> 
{% endfor %} 

так, можете ли вы помочь мне найти решение в этом вопросе?

ответ

0

Как я уже говорил в your other post, вы используете неправильную переменную. Используйте cat.pk в теге url, и ваша проблема должна быть решена.

Смежные вопросы