查詢個人站點的文章、分類和標簽查詢
阿新 • • 發佈:2019-02-17
extra not urn html end 基於 style username 沒有
urls.py
re_path(‘^(?P<username>\w+)$‘, views.home_site, name=‘home_site‘),
home_site.py
def home_site(request, username): """ 個人站點視圖函數 :param request: :return: """ user = UserInfo.objects.filter(username=username).first() # 判斷用戶是否存在 if not user: returnrender(request, ‘not_found.html‘) # 查詢當前站點 blog = user.blog # 獲取當前用戶或者當前站點對應的所有文章 # 基於對象查詢 # aritlce_list = user.article_set.all() # 基於雙下劃線查詢 article_list = models.Article.objects.filter(user=user) # 查詢當前站點的每一個分類名稱以及對應的文章數 category_list = models.Category.objects.filter(blog=blog).values(‘pk‘).annotate( count=Count(‘article__title‘)).values( ‘title‘, ‘count‘) # 查詢當前站點的每一個標簽名稱以及對應的文章數 tag_list = models.Tag.objects.filter(blog=blog).values(‘pk‘).annotate(count=Count(‘article‘)).values_list( ‘title‘, ‘count‘ ) # 查詢當前站點的每一個年月名稱以及對應的文章數 date_list= models.Article.objects.filter(user=user).annotate(month=TruncMonth(‘created_time‘)).values( ‘month‘).annotate( count=Count(‘nid‘)).values_list( ‘month‘, ‘count‘) # 其他復雜的沒有這種方法的還是要用extras這個接口自己寫 return render(request, ‘home_site.html‘)
查詢個人站點的文章、分類和標簽查詢