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 负责用户认证和权限控制