django安全性:非管理员可以调用间接视图吗?

时间:2019-07-19 11:34:23

标签: python django security python-3.7

说我有以下方法

@staff_member_required 
def foo(request):
    return say_secret_hello(request)

def says_secret_hello(request):
    #do secret stuff 
    return "hello

urls.py

path("/hello", foo)

如您所见,我只向管理员公开了foo。从安全角度来看,非管理员是否可以呼叫say_secret_hello()

1 个答案:

答案 0 :(得分:1)

否,普通用户无法调用此函数,您还可以在视图中使用以下语法:

if request.user.is_staff:
   #do some code

在模板中,您可以使用if语句:

{% if request.user.is_staff %}
Show some content 
{% endif %}