3 回答

TA貢獻1868條經驗 獲得超4個贊
views.py
def call_response(request):
user = User.objects.filter(user=request.user)
activityperiod = activityperiod.objects.get(user=user)
context={'user':user,'activityperiod':activityperiod}
return render(request, "Test/list.html",context})
測試/list.html
'real_name': {{ user.real_name}}
'activity_periods':{{ activityperiod.start_time }}

TA貢獻1815條經驗 獲得超10個贊
Django 模板不理解模型的過濾操作。這部分應該在視圖中。
activity=activityperiod.objects.get(id =user)
在發送到模板之前,您應該準備好數據并對其進行操作(字典可能會對您有所幫助)。請記住,操作“User.objects.all()”的結果是一個列表。

TA貢獻1830條經驗 獲得超9個贊
你的問題表明你認為你可以像普通函數一樣在模板中使用函數(即activityperiod.objects.get(...))。
你不能,模板系統不是這樣制作的(出于安全原因等)。
你應該在你的模型中做類似的事情:
def call_response(request):
# ! first() not "all()" (if > 1 user, you'll have problem)!
user = User.objects.first()
activityperiod = activityperiod.objects.get(user=user)
return render(request, "Test/list.html",
{"users":user ,"activityperiod":activityperiod})
添加回答
舉報