如何在 Django 中按应用程序处理用户和角色
Posted
技术标签:
【中文标题】如何在 Django 中按应用程序处理用户和角色【英文标题】:How to handle users and roles by app in Django 【发布时间】:2018-09-09 15:19:08 【问题描述】:大家好,让我问一些关于管理界面的问题,以及如何通过应用处理我的用户。
很抱歉,我首先是nooby。所以,我需要创建一个新的应用程序来进行一些测验,所以我需要用户,我的应用程序中的这些用户应该有不同的角色,比如学生或教师等等。
问题是我不知道管理 Django 界面是否仅用于 DB 模型,或者我是否可以将其用作我的应用程序中的安全层。
否则,我应该在我的应用模型中为用户和角色创建一组表,然后处理模型中的所有内容,因为管理员只是数据库访问权限。你能告诉我什么?非常感谢。
【问题讨论】:
Django group permissions for whole app的可能重复 【参考方案1】:来自 Django 关于 Django admin 的文档 - Link
以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容。
Django 带有user model,您可以将其扩展为代表教师和学生,如 django 文档中所述here,您将创建ModelAdmins and register your models。除此之外,您还可以通过管理系统轻松管理您的用户,示例代码:
models.py
from django.contrib.auth.models import User
from django.db import models
class Teacher(models.Model):
user = models.ForeignKey(User, related_name='teacher')
class Student(models.Model):
user = models.ForeignKey(User, related_name='student')
admin.py
from django.contrib import admin
from .models import Teacher, Student
admin.site.register(Teacher)
admin.site.register(Student)
至于安全性,不清楚您所说的“将其用作我的应用程序中的安全层”是什么意思,如果您详细说明,人们可以更好地帮助您。一般可以在djangohere了解安全性。
【讨论】:
以上是关于如何在 Django 中按应用程序处理用户和角色的主要内容,如果未能解决你的问题,请参考以下文章