Python 如何在Django中将变量从视图传递到base.html?

Python 如何在Django中将变量从视图传递到base.html?,python,django,django-3.0,Python,Django,Django 3.0,我想在项目的导航栏上显示用户的名字。此导航栏位于base.html文件中 在我的views.py中,我创建了一个执行此操作的变量 def base(request): user = request.user u = User.objects.get(username=user) us = u.clients.first_name context = {'u': u, 'us': us} return render(request, "backend/bas

我想在项目的导航栏上显示用户的名字。此导航栏位于
base.html
文件中

在我的
views.py
中,我创建了一个执行此操作的变量

def base(request):
    user = request.user
    u = User.objects.get(username=user)
    us = u.clients.first_name
    context = {'u': u, 'us': us}
    return render(request, "backend/base.html", context)
我可以让它在任何其他.html文件上工作,但不能在base.html上工作,就像这样

<span class="mb-0 text-sm  font-weight-bold">{{us}}</span>

我在回答我自己的问题

我可以通过使用以下代码创建
context\u processor.py
来解决这个问题

from .models import Clients, Hotels, Trip, Flight
from django.contrib.auth.models import User

def add_variable_to_context(request):  
    user = request.user
    u = User.objects.get(username=user)
    us = u.clients.first_name
    uv = u.clients.avatar
    return {
        'u': u,
        'us': us,
        'uv': uv
    }
在views.py中,尝试使用render_to_字符串函数。不要忘记在配置文件中配置静态文件设置


错误消息是什么?或者它只是没有呈现任何内容?@KentShikama它没有呈现任何内容。如果我使用
{{user}}
它将呈现用户名,但是如果我使用
{us}}
(在views.py上定义的变量之后)它将不呈现任何内容。django版本是什么?@felipsmartins 3.0.3你确定你在数据库中尝试列出的用户有相关的客户端对象(与同一个用户)吗,另外,不要忘记在模板(上下文处理器)中添加
“appname.context\u处理器。向上下文添加变量”
,太棒了!最好将你自己的答案标记为你问题的答案,这样这个问题就会closed@Steven我试过了,但它只能让我在两天内完成。好了,不用担心,只要你解决了你的问题哈哈
from .models import Clients, Hotels, Trip, Flight
from django.contrib.auth.models import User

def add_variable_to_context(request):  
    user = request.user
    u = User.objects.get(username=user)
    us = u.clients.first_name
    uv = u.clients.avatar
    return {
        'u': u,
        'us': us,
        'uv': uv
    }
from django.template.loader import render_to_string

context = {'u': u, 'us': us}
render_to_string('html_name.html', context)