user_passes_test
डेकोरेटर का प्रयोग करें @staff_member_required आप आसानी से अपना खुद का सजावटी लिख सकते हैं। एक उदाहरण के रूप में @staff_member लेना हम इस तरह sth कर सकते हैं।
from django.contrib.admin.views.decorators import user_passes_test
def superuser_required(view_func=None, redirect_field_name=REDIRECT_FIELD_NAME,
login_url='account_login_url'):
"""
Decorator for views that checks that the user is logged in and is a
superuser, redirecting to the login page if necessary.
"""
actual_decorator = user_passes_test(
lambda u: u.is_active and u.is_superuser,
login_url=login_url,
redirect_field_name=redirect_field_name
)
if view_func:
return actual_decorator(view_func)
return actual_decorator
यह उदाहरण एक संशोधित कर्मचारी_मेम्बर_रेक्वायर है, बस लैम्ब्डा में एक चेक बदल गया है।
मैंने डाउनवॉट किया क्योंकि कर्मचारी सदस्य सुपरसियर के समान अनुमति नहीं है। –
जब मैं यहां आया था, यही वह था जिसे मैं ढूंढ रहा था, इसलिए मैंने इसे यहां रखा, और मैं इसे यहां छोड़ दूंगा क्योंकि मुझे लगता है कि यह किसी और के लिए उपयोगी हो सकता है। – Bit68
यह @ बिट 68 है। मैं इसे ढूंढ रहा हूँ :) –