django之文章最终页
标签:
JavaScript
文章最终页,就是点击链接标题后,显示文章的具体内容
从上一篇博文,我们已经做好个人主页的筛选,下面是通过点击筛选后的文章,显示文章最终页面
url设置如下:
url(r'^(?P<site>\w+)/(?P<nid>\d+).html$', views.article),
之所以是这个url路由是,前端home页面配置录入下的title,a标签传递参数的时候就传递了2个参数
<div> {% for article in article_list %} <div> <a href="/{{ blog.site }}/{{ article.nid }}.html">{{ article.title }}</a> <div>{{ article.summary }}</div> </div> {% endfor %}</div>
后台的代码
def article(request,site,nid): blog=models.Blog.objects.filter(site=site).first() if not blog: return redirect('/') #分类 category_list = models.Article.objects.filter(blog=blog).values('category_id','category__title').annotate(ct=Count('nid')) #标签 tag_list = models.Article2Tag.objects.filter(article__blog=blog).values('tag_id','tag__title').annotate(ct=Count('id')) #时间 date_list = models.Article.objects.filter(blog=blog).extra( select={'ctime': "strftime('%%Y-%%m',create_time)"}).values('ctime').annotate(ct=Count('nid') ) #文章列表 obj = models.Article.objects.filter(blog=blog,nid=nid).first() return render( request, 'article.html', { 'blog':blog, 'category_list':category_list, 'tag_list':tag_list, 'date_list':date_list, 'obj':obj, } )
前端页面代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/css/theme/{{ blog.theme }}.css"></head><body><div>{{ blog.title }}--{{ blog.user.nickname }}</div><div class="c1"> <h3>文章分类</h3> <ul> {% for category in category_list %} <li><a href="/{{ blog.site }}/category/{{ category.category_id }}">{{ category.category__title }}({{ category.ct }})</a></li> {% endfor %} </ul></div><div class="c2"> <h3>标签分类</h3> <ul> {% for tag in tag_list %} <li><a href="/{{ blog.site }}/tag/{{ tag.tag_id }}">{{ tag.tag__title }}({{ tag.ct }})</a></li> {% endfor %} </ul></div><div> <h3>时间标签</h3> <ul> {% for date in date_list %} <li><a href="/{{ blog.site }}/date/{{ date.ctime }}">{{ date.ctime }}({{ date.ct }})</a></li> {% endfor %} </ul></div><div> {% for article in article_list %} <div> <a href="/{{ blog.site }}/{{ article.id }}">{{ article.title }}</a>{# <div>{{ article.summary }}</div>#} </div> {% endfor %}</div><div> <a href="">{{ obj.title }}</a> <br> {{ obj.articledetail.content|safe }}</div></body></html>
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦