我有一個模板需要使用單獨的基本模板,具體取決于用戶是系統管理員還是普通管理員。兩個模板之間的主要區別在于一個包含更多導航欄專案和指向應用程式其他部分的鏈接。我希望系統能夠識別用戶是系統管理員還是常規管理員,并從該測驗中擴展正確的基本模板。
我知道這可以通過創建第二個模板并在 views.py 檔案中執行以下操作來完成:
if sysAdmin == True:
template = loader.get_template('app/template1.html')
else:
template = loader.get_template('app/template2.html')
兩個用戶組之間有多個共享視圖,我寧愿沒有 4 組幾乎完全相同的模板。我寧愿做這樣的事情:
{% if sysAdmin == True %}
{% extends "app/sysAdminBase.html" %}
{% elif sysAdmin == False %}
{% extends "app/adminbase.html" %}
{% end if %}
但是,這會引發錯誤Invalid block tag on line 3: 'elif'. Did you forget to register or load this tag?這可能還是我需要創建重復的模板?謝謝
uj5u.com熱心網友回復:
可以將extends標簽傳遞給決議為字串的變數,傳遞要在背景關系中擴展的模板
if sysAdmin == True:
context['parent_template'] = 'app/sysAdminBase.html'
else:
context['parent_template'] = 'app/adminbase.html'
模板:
{% extends parent_template %}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/477171.html
下一篇:如何使用包含該產品的功能?
