簡體   English   中英

將變量傳遞給Django中的模板

[英]Passing variables to templates in Django

我見過類似的問題和答案,但是都沒有解決我的問題。

我希望我的視圖執行用戶組檢查,然后通過變量將其傳遞給模板。 然后,模板將使用該模板以不同的方式出現在不同的用戶組中。

我的views.py:

def cans(request):
    is_canner = request.user.groups.filter(name='canner') #check if user group = canner
    can_list = Can.objects.order_by('name')
    context = {'can_list': can_list}
    return render(request, 'cans/cans.html', context) #need to return is_canner variable here

在我的模板中,我將像這樣使用變量:

{% if is_canner %} canner stuff goes here {% endif %}

我不確定如何傳遞此變量,我認為它使用上下文將其發送為:

return render(request, 'cans/cans.html', context({"is_canner": is_canner}))

但這給了我錯誤-上下文是不可調用的。

context不是一個函數,它是render函數的一個參數,例如

context = {"is_canner": is_canner}
return render(request, 'cans/cans.html', context)

docs: https : //docs.djangoproject.com/en/dev/topics/http/shortcuts/#render

更多背景信息: Django-render(),render_to_response()和direct_to_template()有什么區別?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM