django博客功能实现——标签功能
2016-06-14 17:24
609 查看
标签功能添加流程
0.功能概括
标签作为文章中的分类标记,会显示出该文章是关于哪一方面的文章,比如是关于python的还是关于django的。当我们点击该标签的时候,会出现该博客中所有属于该标签的文章
1.在其他页面做一个链接,指向标签分类页面
在其他页面中显示该文章标签的地方操作,对该标签添加一个URL,作用是定向到分类标签页面的URL(例如tag页面)<a href="{% url "search_tag" tag=post.category %}">{{post.category}}</a>
连接进入name为search_tag的URL,并将选中的标签(post.category)赋值给tag,一同传递给下一个页面
2.定义一个URL,既定义标签分类页面的网址
上一步中,我们指向了一个新的URL,在这里定义出这个URL:url(r'^tag(?P<tag>\w+)/$','article.views.search_tag',name='search_tag'),
url接受上一步中传进来的tag值,并放在http中传递给视图函数。
3.在views中调用属于同一个标签文章
def search_tag(request,tag): #tag在URL中获取 try: post_list = Article.objects.filter(category__iexact=tag) #对文章进行过滤,过滤方法是:标签不区分大小写,并且等于tag raise Http404 return render(request,'tag.html',{'post_list':post_list})
该视图中过滤获取所需要的文章,并调用tag.html,让其在该html中显示
4.定义html,用来做显示输出
{% block content %} <div class="posts"> {% for post in post_list %} <section class="post"> <header class="post-header"> <h2 class="post-title"><a href="{% url "detail" id=post.id %}">{{post.title}}</a></h2> <p class="post.meta"> Time: <a class="post-author" href="#">{{post.date_tiem|date:"Y M d"}} </a><a class="post-category post-category-js" href="{% url "archives" tag=post.category %}">{{post.category|title}}</a> </p> </header> <div class="post-description"> <p> {{post.content|custom_markdown}} </p> </div> <a class="pure-button" href="{% url "detail" id=post.id %}">阅读更多>>></a> </section> {% endfor%} </div> {%endblock%}
相关文章推荐
- golang 图片处理,剪切,base64数据转换,文件存储
- golang遇到的win下读取txt字符乱码的问题
- Goolge 官方发布的SwipRefreshLayout下拉刷新,格外添加上拉加载功能
- good 博客
- django admin中配置搜索域是一个外键时如何处理
- poj1179-polygon(动态规划)
- Google的MultiDex方案的一点研究与思考
- GO语言函数与类型
- Maven使用Cargo实现自动化部署到Web容器
- Go语言概览——《Java程序员学习Go》之一
- digoal -阿里云postgrel大神
- 【二次开发】去除flexpaper的LOGO,双页模式下不再出现
- golang学习之struct
- DjangoUnicodeDecodeError <TableTest>
- Django学习,HelloWorld应用
- 5.django笔记之form保存表单信息,动态select
- django1.9.0时间与系统时间相差8小时问题
- Ubuntu15.10安装Django教程
- Golang Array 数组 和 Slice 切片
- shiro 自定义logout路径