在Django的模板中使用認(rèn)證數(shù)據(jù)的方法
當(dāng)前登入的用戶以及他(她)的權(quán)限可以通過(guò) RequestContext 在模板的context中使用。
注意
從技術(shù)上來(lái)說(shuō),只有當(dāng)你使用了 RequestContext這些變量才可用。 并且TEMPLATE_CONTEXT_PROCESSORS 設(shè)置包含了 “django.core.context_processors.auth” (默認(rèn)情況就是如此)時(shí),這些變量才能在模板context中使用。 TEMPLATE_CONTEXT_PROCESSORS 設(shè)置包含了 "django.core.context_processors.auth" (默認(rèn)情況就是如此)時(shí),這些變量才能在模板context中使用。
當(dāng)使用 RequestContext 時(shí), 當(dāng)前用戶 (是一個(gè) User 實(shí)例或一個(gè) AnonymousUser 實(shí)例) 存儲(chǔ)在模板變量 {{ user }} 中:
{% if user.is_authenticated %} <p>Welcome, {{ user.username }}. Thanks for logging in.</p> {% else %} <p>Welcome, new user. Please log in.</p> {% endif %}
這些用戶的權(quán)限信息存儲(chǔ)在 {{ perms }} 模板變量中。
你有兩種方式來(lái)使用 perms 對(duì)象。 你可以使用類似于 {{ perms.polls }} 的形式來(lái)檢查,對(duì)于某個(gè)特定的應(yīng)用,一個(gè)用戶是否具有 任意 權(quán)限;你也可以使用 {{ perms.polls.can_vote }} 這樣的形式,來(lái)檢查一個(gè)用戶是否擁有特定的權(quán)限。
這樣你就可以在模板中的 {% if %} 語(yǔ)句中檢查權(quán)限:
{% if perms.polls %} <p>You have permission to do something in the polls app.</p> {% if perms.polls.can_vote %} <p>You can vote!</p> {% endif %} {% else %} <p>You don't have permission to do anything in the polls app.</p> {% endif %}
相關(guān)文章
Python如何處理大數(shù)據(jù)?3個(gè)技巧效率提升攻略(推薦)
這篇文章主要介紹了Python如何處理大數(shù)據(jù)?3個(gè)技巧效率提升攻略,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python中的pathlib.Path為什么不繼承str詳解
這篇文章主要給大家介紹了關(guān)于Python中pathlib.Path為什么不繼承str的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06keras的三種模型實(shí)現(xiàn)與區(qū)別說(shuō)明
這篇文章主要介紹了keras的三種模型實(shí)現(xiàn)與區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Tensorflow加載預(yù)訓(xùn)練模型和保存模型的實(shí)例
今天小編就為大家分享一篇Tensorflow加載預(yù)訓(xùn)練模型和保存模型的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python實(shí)現(xiàn)二叉查找樹(shù)實(shí)例代碼
這篇文章主要介紹了python實(shí)現(xiàn)二叉查找樹(shù)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02【Python】Python的urllib模塊、urllib2模塊批量進(jìn)行網(wǎng)頁(yè)下載文件
這篇文章主要介紹了Python的urllib模塊、urllib2模塊批量進(jìn)行網(wǎng)頁(yè)下載文件,就是一個(gè)簡(jiǎn)單的從網(wǎng)頁(yè)抓取數(shù)據(jù)、下載文件的小程序,需要的可以了解一下。2016-11-11