2012-02-27 37 views
51

我可以在Django的模板中使用Auth應用程序的權限檢查嗎? (我想在特權用戶的模板末尾顯示一個簡單的表格)檢查Django模板中的權限

更重要的是,我應該做還是不是「Django方式」?

+0

對於像我這樣的人,後來偶然發現,Django 1.5的鏈接改變了很輕微LY。這些信息現在可以在以下網址的文檔中找到:https://docs.djangoproject.com/en/1.5/topics/auth/default/#permissions原始答案中沒有任何改變,但這只是一個新的url :) – Xudonax 2013-09-10 07:35:44

回答

114

如果您正在尋找以檢查模板的權限,下面的代碼就足夠了:

{% if perms.app_label.can_do_something %} 
<form here> 
{% endif %} 

凡模型指的是用戶需要權限查看錶單的模型。

有關更多示例,請參閱https://docs.djangoproject.com/en/stable/topics/auth/default/#permissions

當前登錄用戶的權限存儲在模板變量{{ perms }}

(這需要以下上下文處理器啓用:django.contrib.auth.context_processors.auth

+2

請注意,如果您以超級用戶身份登錄,則「perms.app_label.foobar」將始終爲真,即使您拼錯了權限名稱也是如此。 – Flimm 2017-04-26 18:45:52