I want to show the user's first name on the navbar of my project. This navbar is on the base.html file.
In my views.py I have created a variable that does this
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)
I can get it to work on any other .html file, but not on the base.html, that looks like this
<span class="mb-0 text-sm font-weight-bold">{{us}}</span>
This is my model
class Clients(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
first_name = models.CharField(max_length=30, verbose_name="Primeiro Nome")
last_name = models.CharField(max_length=30, verbose_name="Apelido")
address = models.CharField(max_length=200, verbose_name="Morada")
nif = models.CharField(max_length=9, verbose_name="NIF", validators=[RegexValidator(r'^\d{1,10}$')], primary_key=True)
mobile = models.CharField(max_length=9, verbose_name="Telemóvel", validators=[RegexValidator(r'^\d{1,10}$')])
email = models.CharField(max_length=200, null=True, verbose_name="Email")
def __str__(self):
return "%s %s" % (self.first_name, self.last_name)
class Meta:
verbose_name_plural = "Clientes"
{{user}}it will render the username, but if I use{{us}}(after the variable defined on the views.py) it renders nothing.