Skip to content

admin后台与auth认证

这一页要解决两个非常实际的问题:

  • 后台数据怎么管理
  • 用户登录、权限怎么做

Django admin 是什么

admin 是 Django 自带的后台管理系统。
它的价值是:你不用从零开始写后台页面,就能先把模型数据管理起来。

创建超级管理员

bash
python manage.py createsuperuser

然后按提示输入:

  • 用户名
  • 邮箱
  • 密码

完成后访问:

text
http://127.0.0.1:8000/admin/

就可以登录后台。

注册模型到 admin

如果你有一个模型:

python
class Student(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField()

想让它出现在后台里,要在 admin.py 中注册:

python
from django.contrib import admin
from .models import Student

admin.site.register(Student)

auth 认证系统是什么

auth 是 Django 自带的用户认证系统。
它可以帮助你完成:

  • 用户登录
  • 用户登出
  • 判断是否已登录
  • 判断有没有权限

一个最基础的登录判断

在视图中:

python
if request.user.is_authenticated:
    return HttpResponse("你已经登录")
else:
    return HttpResponse("你还没有登录")

权限管理为什么重要

真实项目里,不同用户经常对应不同权限:

  • 普通用户
  • 管理员
  • 超级管理员

不是每个人都应该能修改所有数据。

admin 和 auth 的关系

admin 自己就建立在 auth 系统之上。
所以当你理解了 auth,admin 的权限控制也会更容易理解。

学这一页最重要的目标

  • 会创建管理员账号
  • 会注册模型到后台
  • 知道 auth 负责用户认证和权限控制

Built with VitePress.