博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查询个人站点的文章、分类和标签查询
阅读量:6159 次
发布时间:2019-06-21

本文共 1218 字,大约阅读时间需要 4 分钟。

urls.py

re_path('^(?P
\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:        return render(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')

 

转载于:https://www.cnblogs.com/lshedward/p/10390199.html

你可能感兴趣的文章
异常球称重问题
查看>>
java 十六进制数的转换
查看>>
Divide and conquer method
查看>>
[sharepoint]根据用户名获取该用户的权限
查看>>
多线程模拟实现生产者/消费者模型 (借鉴)
查看>>
iOS开发需要哪些图片?
查看>>
命令行远程链接MySQL
查看>>
logstash向elasticsearch写入数据,如何指定多个数据template
查看>>
Node.js:Web模块、文件系统
查看>>
【转】灵活运用 SQL SERVER FOR XML PATH
查看>>
WCF角色服务
查看>>
常用sql001_partition by 以及 row_number()和 dense_rank()和rank()区别
查看>>
无需Docker, 5分钟徒手DIY 一个Linux容器
查看>>
sed入门详解教程
查看>>
UDT中的epoll
查看>>
关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT
查看>>
Linux设备模型 (1)
查看>>
我的第一个python web开发框架(11)——工具函数包说明(二)
查看>>
美国自动驾驶研发国家队NASA入局,还提供了航天跑道做测试
查看>>
浅析如何掌握了解SQL Server的锁机制
查看>>