42
A
回答
90
使用user_passes_test
裝飾:如果你想有類似的功能
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
def my_view(request):
...
33
在消協工作人員的成員就足夠了,你可以使用@staff_member_required
裝飾@staff_member_required你可以輕鬆地編寫你自己的裝飾器。以@staff_member爲例,我們可以這樣做。
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
這個例子是改性staff_member_required,只是改變在lambda一張支票。
1
:
from django.contrib.auth.decorators import user_passes_test
@user_passes_test(lambda u: u.is_superuser)
def my_view(request):
...
相關問題
- 1. Django @login_required裝飾器
- 2. Django:在其他裝飾器中重新使用login_required裝飾器
- 3. django login_required裝飾器外部視圖
- 4. Django中的login_required裝飾器和urlresolver.reverse()
- 5. login_required裝飾
- 6. @login_required裝飾在Django 1.1和Template_name
- 7. Django的新手:嘗試在login_required()裝飾
- 8. 爲什麼我需要用@method_decorator裝飾login_required裝飾器
- 9. django @login_required修飾符錯誤
- 10. 用於Django視圖的@login_required裝飾器的反義詞是什麼?
- 11. Django的login_required裝飾並不重定向到前一頁
- 12. Python 3.6/Django1.10 @login_required裝飾器重定向鏈接與丟失「/」
- 13. @login_required裝飾亙古不變的工作,而打在瀏覽器
- 14. ajax視圖上的login_required裝飾器返回401而不是302
- 15. 如何將@login_required裝飾器添加到內置django的註銷視圖?
- 16. Django的login_optional裝飾器?
- 17. 爲什麼login_required裝飾器返回302狀態碼?
- 18. Flask-Security @login_required裝飾器自定義重定向
- 19. 使用超過144個裝飾器
- 20. 修改Flask-Login @Login_Required修飾器
- 21. 裝飾裝飾器
- 22. 用裝飾器覆蓋Django的意見
- 23. 如何使用django @lazy裝飾器?
- 24. 爲什麼Django REST API裝飾器會破壞Django的non_atomic_requests裝飾器?
- 25. 在使用allauth的Django 1.10認證中,login_required修飾器不起作用
- 26. django-webtest,用戶驗證和視圖裝飾器
- 27. 如何創建應用程序引擎類@login_required裝飾
- 28. Django的 - 限制超級用戶
- 29. Django - 意外刪除超級用戶
- 30. 在PyCharm中創建超級用戶Django
我降低了工作量,因爲工作人員與超級用戶的權限不一樣。 – 2015-11-10 22:17:00
當我來到這裏時,這就是我正在尋找的東西,這就是爲什麼我把它放在這裏的原因,我會把它留在這裏,因爲我認爲它可以對其他人有用。 – Bit68 2015-11-11 20:53:56
它是@ Bit68。我在找:) – 2017-06-12 05:47:23