如何在Django中按应用程序处理用户和角色

时间:2018-03-30 15:11:43

标签: django web python-3.5

大家好,让我问一下管理界面,以及如何通过应用程序处理我的用户。

很抱歉,首先我很高兴。所以,我需要创建一个新的应用程序,基本上进行一些测验,所以我需要用户,我的应用程序中的这些用户应该有一个不同的角色作为学生或老师等。

问题是我不知道管理员Django界面是否仅适用于数据库模型,或者我是否可以将其用作我的应用程序中的安全层。

否则,我应该在我的应用模型中为用户和角色创建一个表格,然后处理模型中的所有内容,因为管理员只是数据库访问。你能告诉我什么?非常感谢。

1 个答案:

答案 0 :(得分: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)

至于安全性,“在我的应用程序中将其用作安全层”并不清楚你的意思,如果你详细说明,人们可以更好地帮助你。您通常可以在django here中了解安全性。