Django 使用相同的方法但得到不同的结果

Django 使用相同的方法但得到不同的结果,django,Django,我使用{extends'xxx.html'}使所有模板都有相同的“head”和“tail”,在head中有一个用户化身区域{avatar},但我使用相同的方法在每个视图中传递这个avatar,我的index.html不能正确显示化身,但另一个可以,所以我假设我的索引视图有问题 以下是索引视图: def index(request): if request.method == 'GET': all_user = UserInfo.objects.all() user = all_u

我使用
{extends'xxx.html'}
使所有模板都有相同的“head”和“tail”,在head中有一个用户化身区域
{avatar}
,但我使用相同的方法在每个视图中传递这个
avatar
,我的index.html不能正确显示化身,但另一个可以,所以我假设我的索引视图有问题

以下是索引视图:

def index(request):
if request.method == 'GET':
    all_user = UserInfo.objects.all()
    user = all_user.filter(username=request.user.username)
    return render(request, 'index.html', {
        "icon": user.icon,
        "user": user.username,
    })
下面是一部分可以正确显示化身的视图:

        if request.user.is_authenticated():
        my_fav = UserFavorite.objects.all()
        my_fav_num = my_fav.filter(user=request.user).count()
        my_posts_num = all_posts.filter(user=request.user).count()
        my_msg = UserMessage.objects.all()
        my_msg_num = my_msg.filter(user=request.user, has_read=False).count()
        all_user = UserInfo.objects.all()
        user = all_user.get(username=request.user.username)
        return render(request, 'community.html', {
            "all_posts": posts,
            "post_num": post_num,
            "animal_kind": animal_kind,
            "post_kind": post_kind,
            "sort": sort,
            "my_fav_num": my_fav_num,
            "my_posts_num": my_posts_num,
            "my_msg_num": my_msg_num,
            "icon": user.icon,
            "user": user.username,
        })
    else:
        my_fav_num = 0
        my_msg_num = 0
        my_posts_num = 0
        return render(request, 'community.html', {
            "all_posts": posts,
            "post_num": post_num,
            "animal_kind": animal_kind,
            "post_kind": post_kind,
            "sort": sort,
            "my_fav_num": my_fav_num,
            "my_posts_num": my_posts_num,
            "my_msg_num": my_msg_num,
        })
HTML代码:

<div class="head_bar" style="z-index: 1;">
<a class="logo" href="{% url 'index' %}">Nostray</a>
<div class="nav_bar">
    <a class="nav" href="{% url 'adopt:market' %}"><span class="roll" id="adopt">领养</span></a>
    <a class="nav" href="{% url 'community:allpost' %}"><span class="roll" id="community">社区</span></a>
    <a class="nav" href=""><span class="roll" id="charity">公益</span></a>
</div>
    {% if request.user.is_authenticated %}
    <div class="current_user"><a href="">
    <img src="{{ MEDIA_URL }}{{ icon }}" title="登录状态:{{ user }}" class="curr_icon">
    </a></div>
    {% else %}
        <button class="bar_btn1" onclick="location.href={% url 'login' %}">登录</button>
        <button class="bar_btn2" onclick="location.href={% url 'registe' %}">注册</button>
    {% endif %}

{%if request.user.u经过身份验证%}
{%else%}
登录
注册
{%endif%}


看不出为什么索引找不到头像。

在你的
索引中,你有一个用户列表,但在你的“正确显示”中,用户是单个对象,并且它有属性,你需要替换

user = all_user.filter(username=request.user.username)


索引中
有用户列表,但在“正确显示”中,用户是单个对象,并且有属性,需要替换

user = all_user.filter(username=request.user.username)


我照你说的做了,但还是一样,阿凡达src在索引上是空的,但是
用户
可以通过看起来不错,我找不到错误,试着
打印用户。图标
在你的索引中,然后
返回
可能有帮助结果是这个函数从未运行过,我忘了更改URL函数,我的错误,但是谢谢你的耐心。很高兴帮助你)我照你说的做了,但它仍然是一样的,阿凡达src在索引上是空的,但是
用户
可以通过看起来不错,我找不到错误,试着
打印用户。在
返回之前,在你的索引中的图标
可能会有帮助。结果是这个功能从未运行过,我忘了更改URL功能,这是我的错误,但谢谢你的耐心。很高兴能帮助你)我看不到你的代码中提到了
化身
?化身是
图标
请尝试创建一个。好吧,我的错,感谢您的耐心我看不到您的代码中任何地方提到了
化身
?化身是
图标
请尝试创建一个。好的,我的错,谢谢您的耐心