Django中记录用户最近浏览的文章

原创 109阅读 · 时间2019年3月20日 13:44

Django中记录用户最近浏览的文章

在文章详情的视图中加入如下代码

article_id = '{0}'.format(content.id)
if articles_ids != "":  #判断是否有浏览记录,如果有则继续判断
    print("不为空")
    articel_id1 = articles_ids.split(',')   # 拆分为列表
    if articel_id1.count(article_id)>=1:    # 如果浏览的文章已经被记录,则删除
        articles_ids.remove(article_id)
    articel_id1.insert(0, article_id)   # 添加到第一个
    if len(articel_id1) >= 3:   # 如果超过3个则删除最后一个
        del articel_id1[2]
    articles_ids = ','.join(articel_id1)    # 拼接为字符串
else:
    print("存进去")
    articles_ids = article_id   #如果有没有浏览记录则直接添加
    print(articles_ids)
response = render(request, "message/content.html", {"content": content})
response.set_cookie('articles_ids', articles_ids)
return response

6.png

在用户中心显示最近的浏览:

def index(request):
    history = request.COOKIES.get('articles_ids', '')
    article_list = []
    if history != '':
        articles_ids1 = history.split(',')
        for ids in articles_ids1:
            article_list.append(models.article.objects.get(id=int(ids)))
    return render(request, "message/index.html", { "article_list": article_list})

7.png


参考视频链接:https://www.bilibili.com/video/av14603663/?p=65


评论

本站升级中... 如有好的建议请加入QQ群!

相关文章推荐 ?
近七日热文推荐 !
回到顶部