我想在項目的導航欄上顯示用戶的名字。此導航欄位于文件上。base.html在我的應用程序中,我創建了一個執行此操作的變量views.pydef 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文件上工作,但不能在基礎.html上工作,看起來像這樣<span class="mb-0 text-sm font-weight-bold">{{us}}</span>這是我的模型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"
2 回答

Helenr
TA貢獻1780條經驗 獲得超4個贊
我正在回答我自己的問題。
我能夠通過使用以下代碼創建一個來解決此問題context_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
}

ibeautiful
TA貢獻1993條經驗 獲得超6個贊
在 views.py 嘗試使用render_to_string函數。不要忘記在配置文件中配置靜態文件設置。
from django.template.loader import render_to_string
context = {'u': u, 'us': us}
render_to_string('html_name.html', context)
添加回答
舉報
0/150
提交
取消