python - Django 工作人员登录所有网址

标签 python django python-2.7 django-views

我想定义一些以/staff/* 开头的特定 url 以仅供员工访问。所以只有员工可以访问以/staff/* 开头的 url

我如何在 Django 中定义它?

最佳答案

您可以使用 user_passes_teststaff_member_required 装饰器来关联您的 url(以 /staff/ 开头)的 View ,一个示例可能如下:

使用 user_passes_test 装饰器:

from django.contrib.auth.decorators import user_passes_test

@user_passes_test(lambda u: u.is_staff, login_url='/some_url/')
def your_view(request, ...):
    # Only for staff

使用 staff_member_required 装饰器:

from django.contrib.admin.views.decorators import staff_member_required

@staff_member_required
def your_view(request, ...):
    # Only for staff

关于python - Django 工作人员登录所有网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236385/

相关文章:

python - 为什么在 python 中使用类方法而不是实例方法

django - 如何在模板中引用用户外键?

django - 将文件从一个模型复制到另一个模型

python-2.7 - Pylint 无法处理抽象基类的抽象子类

Python错误: can't install scipy.优化.brentq

python - 哥德巴赫猜想算法显示 "list index out of range"高于特定数字

python - 在Python中组合n个不同列表中的相应元素

python - 将列分配给更高层次的多索引级别

Django 联合 : How do I avoid description escaping?

python - 如何在Python中获得列表中数字的总和?