python - Django 按类别查看帖子
问题描述
我是 DJango 的新手,仍然了解视图和网址的工作原理。我试图在我的侧边栏中显示一个类别列表,以及让面包屑起作用。除非我转到 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'),
]
解决方案
推荐阅读
- reporting-services - SSRS 根据数据集字段创建尽可能多的表(使用一个数据集)
- spring - 使用 Spring Integration DSL 读取 Tibco EMS 主题
- c++ - 从 'float*' 到 'int' 的错误无效转换 [-fpermissive]
- python - Graphlab 和 SFrame
- ios - Xcode Storyboard 使按钮高度等于底部布局指南(或安全区域下方的空间)+ 常量?
- sql - 在函数中转 SQL 语句
- hyperledger-fabric - 无需托管对等节点即可参与 Hyperledger
- python-3.x - 如何确保按给定顺序处理所有命令(和错误)
- mysql - 维度建模:如何创建没有代理主键的表?
- gradle - Gradle 构建脚本中的“包装器”条目是否取代了 Gradle 包装器 (gradlew)?