From 16807481ce1482e2093c80e6130bc81ff5c5b51c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E9=9B=A8=E8=8F=B2?= <2574550132@qq.com> Date: Sun, 9 Nov 2025 20:45:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20admin=5Fsite.py=20?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- djangoblog/admin_site.py | 57 +++++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/djangoblog/admin_site.py b/djangoblog/admin_site.py index f1204059..1f0130db 100644 --- a/djangoblog/admin_site.py +++ b/djangoblog/admin_site.py @@ -1,8 +1,14 @@ +# Django博客系统的Admin配置模块 +# 该模块用于自定义Django管理后台(Admin Site),包括管理员站点的属性设置、权限控制, +# 以及注册系统中各模型到管理后台,实现对数据的可视化管理 + +# 导入Django内置的AdminSite及相关模型、管理类 from django.contrib.admin import AdminSite from django.contrib.admin.models import LogEntry from django.contrib.sites.admin import SiteAdmin from django.contrib.sites.models import Site +# 导入各应用的Admin配置和模型(账号、博客、评论、OAuth等模块) from accounts.admin import * from blog.admin import * from blog.models import * @@ -18,15 +24,27 @@ from servermanager.models import * class DjangoBlogAdminSite(AdminSite): + """ + 自定义的Django管理站点类,继承自AdminSite + 用于个性化管理后台的显示信息和权限控制 + """ + # 管理后台页面顶部的标题 site_header = 'djangoblog administration' + # 浏览器标签页的标题 site_title = 'djangoblog site admin' def __init__(self, name='admin'): + """初始化方法,调用父类构造函数""" super().__init__(name) def has_permission(self, request): + """ + 重写权限检查方法,控制谁可以访问管理后台 + 仅允许超级用户(is_superuser)访问 + """ return request.user.is_superuser + # 以下为注释掉的自定义URL示例(如需扩展管理后台URL可启用) # def get_urls(self): # urls = super().get_urls() # from django.urls import path @@ -38,27 +56,34 @@ class DjangoBlogAdminSite(AdminSite): # return urls + my_urls +# 实例化自定义的管理站点 admin_site = DjangoBlogAdminSite(name='admin') -admin_site.register(Article, ArticlelAdmin) -admin_site.register(Category, CategoryAdmin) -admin_site.register(Tag, TagAdmin) -admin_site.register(Links, LinksAdmin) -admin_site.register(SideBar, SideBarAdmin) -admin_site.register(BlogSettings, BlogSettingsAdmin) - -admin_site.register(commands, CommandsAdmin) -admin_site.register(EmailSendLog, EmailSendLogAdmin) +# 注册博客核心模型到管理站点,关联对应的Admin配置类 +admin_site.register(Article, ArticlelAdmin) # 文章模型 +admin_site.register(Category, CategoryAdmin) # 分类模型 +admin_site.register(Tag, TagAdmin) # 标签模型 +admin_site.register(Links, LinksAdmin) # 链接模型 +admin_site.register(SideBar, SideBarAdmin) # 侧边栏模型 +admin_site.register(BlogSettings, BlogSettingsAdmin) # 博客设置模型 -admin_site.register(BlogUser, BlogUserAdmin) +# 注册服务器管理相关模型 +admin_site.register(commands, CommandsAdmin) # 命令模型 +admin_site.register(EmailSendLog, EmailSendLogAdmin) # 邮件发送日志模型 -admin_site.register(Comment, CommentAdmin) +# 注册用户模型 +admin_site.register(BlogUser, BlogUserAdmin) # 自定义用户模型 -admin_site.register(OAuthUser, OAuthUserAdmin) -admin_site.register(OAuthConfig, OAuthConfigAdmin) +# 注册评论模型 +admin_site.register(Comment, CommentAdmin) # 评论模型 -admin_site.register(OwnTrackLog, OwnTrackLogsAdmin) +# 注册OAuth相关模型 +admin_site.register(OAuthUser, OAuthUserAdmin) # OAuth用户模型 +admin_site.register(OAuthConfig, OAuthConfigAdmin) # OAuth配置模型 -admin_site.register(Site, SiteAdmin) +# 注册位置追踪相关模型 +admin_site.register(OwnTrackLog, OwnTrackLogsAdmin) # 位置日志模型 -admin_site.register(LogEntry, LogEntryAdmin) +# 注册站点和日志模型(Django内置) +admin_site.register(Site, SiteAdmin) # 站点模型 +admin_site.register(LogEntry, LogEntryAdmin) # 操作日志模型 \ No newline at end of file