从数据库取数据的优化与flag登陆登出

本文探讨了从数据库取数据的优化策略,通过设置排序条件提升查询效率。同时,文章介绍了如何使用flag来管理用户的登录登出状态,避免在多个页面间手动维护登录状态的繁琐。在实践中,作者发现通过限制查询数量和使用skip、limit方法可以有效提高查询效率,以此解决了显示指定数量资讯的问题。尽管解决方案仍有待完善,但这对于初次解决此类问题是一次宝贵的尝试。
摘要由CSDN通过智能技术生成
登录和未登录界面显示的解决,可以说是想办法解决了,但随之而来需要更改的其他大模块也要修改,例如从相关
资讯返回到首页时。是要给每个大的模块界面都来判断是否登录或者登出。


拿正姐做好的在线学习界面进行合并。基于现在可以考虑的对从数据库取数据的效率问题进行了尝试。


新的尝试也导致了新的bug:推荐资讯数据插入的顺序问题。

顺序问题,从一般的数据库取数据时是可以设置用什么排序之后而取数据。

choices=ConsuletChoiceDoc.objects.order_by("order")
order_by()就都是关于排序功能


登录和未登录界面的显示,师哥只给我说了用if判断什么的,我知道师哥的意思是在模版里面判断user的。一开始我研究了半天的方法是在logout之后再次访问login_required限制的路由视图。结果发现是绝对不可能的。还是在继续网上找解决办法的时候灵光一闪考虑到是不是可以用一个flag来定义是否登录。方法是可以的,但是如果网页多了,是很麻烦的。但却是真的可以实现了。

两个具有代表性的截图来说明(因为网页上毕竟还是有只有登录用户才可操作的界面按钮等)。点击退出登录,页面就会变成登录,然后就是所谓的游客浏览界面。

@bp.route('/home/<flag>')
@login_required
def main(flag):
    if flag == 'in':
        u = UserModel.query.get_or_404(current_user.id)
    elif flag == 'out':
        u = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值