栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Flask项目】首页用户显示与退出 # 10

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Flask项目】首页用户显示与退出 # 10

首页展示:

 

如图所见,首页用户的展示应当是 "登录 / 注册" 与 "用户信息  退出" 二选其一

对此,做出一些操作,使存在状态保持时,显示用户信息。

不存在session时,显示  "登录 / 注册"

首页相关:

将首页相关的视图函数都写在index对应的views里

后端Flask代码:
from . import blue_index
from flask import render_template, current_app, session, abort
from info.models import User


@blue_index.route("/")
def index():
    """
        首页相关
            右上角个人信息
            1.获取session信息
            2.利用id查询数据库中信息
            3.返回信息到前端页面
    :return:
    """
    # 1.获取session信息(id)
    id = session.get("id")
    user = None
    
    # 2.利用id查询数据库中信息
    try:
        user = User.query.filter_by(id=id).first()
    except Exception as e:
        current_app.logger.error(e)
        abort(400)
    content = {
        "user": user
    }
    
    # 3.返回信息到前端页面
    return render_template("index.html", content=content)
HTML代码: 

这里使用的是前后端不分离的写法:

            {% if content.user %}
                
                    
                    {{ content.user.nick_name }}
                    退出
                
            {% else %}
                
                    登录 / 注册
                
            {% endif %}
退出相关:

将登出相关的视图函数都写在passport对应的views里

后端Flask代码:
from flask import jsonify, session
from info.response_code import RET
from . import blue_passport

@blue_passport.route("/logout", methods=["GET"])
def logout():
    """
        登出相关
        1.删除session信息
        2.返回结果
    :return:
    """
    session.pop("id", None)
    session.pop("mobile", None)
    session.pop("nickName", None)
    return jsonify(errno=RET.OK, errmsg="退出成功")
JS代码:
// 退出登录
function logout() {
    // $.ajax({
    //     url:'/passport/logout',
    //     type:'get'
    // });

    $.get('/passport/logout', function (response) {
        if (response.errno == '0') {
            // 退出登录成功
            location.reload();
        } else {
            alert(response.errmsg);
        }
    })
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331005.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号