为了账号安全,请及时绑定邮箱和手机立即绑定

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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消