Django Просмотр поста по категориям - PullRequest
2 голосов
/ 20 марта 2020

Я новичок в DJango и все еще понимаю, как работают представления и URL. Я пытаюсь показать список категорий в моей боковой панели, а также заставить хлебные крошки работать. Я не могу заставить хлебные крошки показывать правильно, если я не go для mysite / category / categoryItem / sub_categoryItem, но тогда я не могу заставить его открыть сообщение, даже если оно перечисляет его в списке. Это просто пустая страница. Это по крайней мере говорит мне, что шаблон тянет данные боковой панели.

views.py
def show_category(request,hierarchy= None):
    category_slug = hierarchy.split('/')
    category_queryset = list(Category.objects.all())
    all_slugs = [ x.slug for x in category_queryset ]
    parent = None
    for slug in category_slug:
        if slug in all_slugs:
            parent = get_object_or_404(Category,slug=slug,parent=parent)
        else:
            instance = get_object_or_404(Post, slug=slug)
            breadcrumbs_link = instance.get_cat_list()
            category_name = [' '.join(i.split('/')[-1].split('-')) for i in breadcrumbs_link]
            breadcrumbs = zip(breadcrumbs_link, category_name)
            return render(request, "wiki/post_detail.html", {'instance':instance,'breadcrumbs':breadcrumbs})

    return render(request,"sidebar.html",{'post_set':parent.post_set.all(),'sub_categories':parent.children.all()})

def post_detail(request,slug=None):
    post = get_object_or_404(Post,slug=slug)
    return render(request,"wiki/post_detail.html",{ 'post':post})

def post_list(request, slug=None):
    posts = Post.objects.all()
    return render(request,"wiki/postlist.html",{ 'posts':posts})`enter code here`

urls.py

urlpatterns = [
    url(r'^wiki/$',  views.post_list , name='wiki'),
    url(r'^(?P<slug>[\w-]+)/$', views.post_detail, name="postdetail"),
    url(r'^category/(?P<hierarchy>.+)/$', views.show_category, name='category'),
]
...