django-登录后得个人信息

Web请求中的认证:https://yiyibooks.cn/xx/django_182/topics/auth/default.html

Django使用会话和中间件来拦截request 对象到认证系统中。

它们在每个请求上提供一个request.user属性,表示当前的用户。如果当前的用户没有登入,该属性将设置成AnonymousUser的一个实例,否则它将是User的实例。

视图函数views.py中无需修改因为

# Django会给request对象添加一个属性request.user
# 如果用户未登录->user是AnonymousUser类的一个实例对象
# 如果用户登录->user是User类的一个实例对象
# request.user.is_authenticated()
# 除了你给模板文件传递的模板变量以外,django框架会把request.user也传递给模板文件

templates/base.html中

{#    欢迎信息#}
    {% block header_con %}
        <div class="header_con">
            <div class="header">
                <div class="welcome fl">欢迎来到天天生鲜!</div>
                <div class="fr">
                    {% if user.is_authenticated %}
                    <div class="login_btn fl">
                        欢迎您:<em>{{ user.username }}</em>  {# user对象是django自动渲染到模板上 #}
                    </div>
                    {% else %}
                    <div class="login_btn fl">
                        <a href="/user/login">登录</a>
                        <span>|</span>
                        <a href="/user/register">注册</a>
                    </div>
                    {% endif %}
                    <div class="user_link fl">
                        <span>|</span>
                        <a href="user_center_info.html">用户中心</a>
                        <span>|</span>
                        <a href="cart.html">我的购物车</a>
                        <span>|</span>
                        <a href="user_center_order.html">我的订单</a>
                    </div>
                </div>
            </div>
        </div>
    {% endblock header_con %}

猜你喜欢

转载自www.cnblogs.com/yifengs/p/11611411.html