栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django admin inlines_Django-admin?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django admin inlines_Django-admin?

Django的后台管理站点

Django为网站管理员设计了一个进行网站后台数据管理的站点,用于管理网站的用户、组、模型等各种数据。

Django是一个非常强大的Web框架,自带一个管理站点admin,一般用于管理者自己内部使用,由于页面并没有进行
设计,一般不会将该站点提交给用户,只用于项目未上线之前的管理站点。

启用Admin站点

Admin站点说到底也是一个网页,也是在django框架内的,所以该站点也是django的一个应用,需要连接数据库
也需要进行URL路由配置,但是django会自动执行创建应用、注册上下文处理器、注册中间件以及配置URL。

Admin站点的URL默认是127.0.0.1:8000/admin;初次访问admin站点时,需要执行数据库迁移并创建超级用户;

如果没有进行数据库迁移会出现下面这个页面

数据库迁移

admin站点默认在数据库中就是存放以上画面中的东西,所以需要执行数据库迁移,创建相关的数据表用于存放登录信息

python manage.py makemigrations            # admin应用是自动创建的,所以默认就是指admin
python manage.py migrate                   # 数据更新到数据库中
创建超级用户

创建超级用户是用于登录admin站点的,需要拥有访问权限;访问权限有两种:is_superuser=True和
is_staff=True。

方法一

使用django指令来创建

python manage.py createsuperuser    # 创建超级管理员

方法二

使用默认的用户模型User创建

from django.contrib.auth.models import User

user = User.objects.create(username='admin')    # 创建一个叫admin的超级管理员
user.set_password('123456')
user.is_superuser = True                        # 站点最高权限
# user.is_staff = True                          # 站点访问权限
user.save()

两种方法都是在交互环境下执行;设置管理员密码是不会显示的,两次必须输入一致;django会将密码的哈希值保存在数据表中,不会直接保存明文;修改密码时,需要调用set.password()方法。 访问Admin站点

输入URL127.0.0.1:8000/admin
使用刚才创建的用户进行登录后

在这个页面下可以管理用户、管理用户组以及管理模型(django默认不提供)。

自定义admin站点

django虽然自定义了管理站点,并且自动执行了一系列操作,但也允许根据用户的自我设计进行修改,
以实现更多的自定义功能。

django的管理页面默认时英文的,如果使用中文,则需要修改本地中间件;

在setting.py文件中的MIDDLEWARE参数中注册本地中间件

MIDDLEWARE = [
    ...
    'django.middleware.locale.LocaleMiddleware',         # 中文中间件(本地化中间件)
]

自定义admin的URL

admin也是一个应用,只需要在根urls.py文件中进行指定url就可以了

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('root/', admin.site.urls),
]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783210.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号