python - Django检查超级用户是否在基于类的视图中
问题描述
我正在将我的项目从基于函数的视图转换为基于类的视图。在视图函数中,我可以检查用户是否是使用request.user.is_superuser()
函数的超级用户。LoginRequiredMixin
我可以通过继承类来检查用户是否登录View
,我想知道是否有任何类似的方法可用于检查用户是否是View
类中的超级用户。我想要一个只有站点的超级用户才能访问的 Django 应用程序。
解决方案
您可以创建自己的:
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
class SuperUserRequiredMixin(LoginRequiredMixin, UserPassesTestMixin):
def test_func(self):
return self.request.user.is_superuser
然后在ClassBasedView中不使用LoginRequiredMixin ,而是使用SuperUserRequiredMixin
现在您的视图将只允许登录的超级用户。
推荐阅读
- c - 用一个空格替换每个包含一个或多个空格的字符串
- node.js - heroku 应用程序错误 NPM_CONFIG_LOGLEVEL=错误
- javascript - 使用JS隐藏类似于tab表的手风琴内容
- ios - Flutter iOS 动画在第一次运行时很卡顿
- python - Python:计算机选择没有出现
- python - 如何用在另一个数组中找到的那些值的索引替换 Python NumPy 数组中的值?
- java - Java MessageDigest 的 PHP 等效项
- python - 如何按月获取每个国家/地区的总病例列表?
- python - 在 seaborn 计数图中标记每种颜色
- typescript - 有没有办法在 TypeScript 中定义 Bootstrap5 relatedTarget 属性?