如何在Django中设置两种不同类型的用户:超级用户,可以访问所有系统功能,以及维护用户,可以执行系统维护.这些是在后端管理系统中创建的用户,而不是在前端界面中登录的用户.它们是在系统初始化时自动创建的.先谢谢你.

作为初学者,没有太多的 idea .我将创建一个初始用户.我喜欢的 idea 和相关的参考代码.谢谢你 文档非常详细,但是我只是Django框架,我不太懂,抱歉,能不能提供一个具体的方法?

推荐答案

Django的builtin User model [Django-doc]已经有两个字段.is_staff [Django-doc].is_superuser [Django-doc],它们是布尔值,用于将用户"提升"到员工账户和超级用户账户.

如果你有一个视图,应该只对staff用户访问,你可以使用@staff_member_required [Django-doc]decorator :

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


@staff_member_required
def my_view(request):
    # …
    pass

则如果用户不是User,而is_staffTrue,则100将反弹.

Python-3.x相关问答推荐

在多个测试中维护和报告变量

具有多个值的极轴旋转和熔化/取消旋转(反转旋转)操作(Pandas 堆叠/取消堆叠交替/UDF覆盖)

Python将类实例变量转换为嵌套 struct

Numba编译时间呈指数级增长--可以像C编译器一样配置优化级别吗?

Pandas 根据条件增加Dataframe列

为什么 mypy 不适用于 sqlalchemy?

将 pandas Timestamp() 转换为 datetime.datetime() 以支持 peewee DateTimeField()

使用 RANSAC 在激光雷达点云中查找电力线

删除括号和大括号中不必要的空格

如何在 VSCode 的在 Cloud Run Emulator 上运行/调试构建设置中添加 SQL 连接

排队多个子进程

python用户输入5个偶数并打印最大的

如何从脚本中提取 PDF 文档的标题以进行重命名?

sys.stdin.readline() 读取时没有提示,返回 'nothing in between'

AttributeError:LinearRegression 对象没有属性coef_

如何将二进制(字符串)转换为浮点值?

如何正确创建自定义文本编解码器?

为现有项目创建virtualenv

如何对字典的函数输出列表进行单元测试?

Pylint 中的模块PyQt5.QtWidgets错误中没有名称QApplication