diff --git a/src/DjangoBlog-master/djangoblog/admin_site.py b/src/DjangoBlog-master/djangoblog/admin_site.py index f120405..5705829 100644 --- a/src/DjangoBlog-master/djangoblog/admin_site.py +++ b/src/DjangoBlog-master/djangoblog/admin_site.py @@ -1,64 +1,90 @@ +# 导入 Django 内置的 AdminSite 基础类(后台管理站点核心类) from django.contrib.admin import AdminSite +# 导入日志记录模型(用于记录后台操作日志) from django.contrib.admin.models import LogEntry +# 导入站点管理相关的默认 admin 类和模型(Django 内置的站点管理功能) from django.contrib.sites.admin import SiteAdmin from django.contrib.sites.models import Site -from accounts.admin import * -from blog.admin import * -from blog.models import * -from comments.admin import * -from comments.models import * +# 导入各应用自定义的 admin 配置和模型(将各模块的后台管理逻辑聚合到此处) +from accounts.admin import * # 用户账户相关的 admin 配置 +from blog.admin import * # 博客核心(文章、分类等)的 admin 配置 +from blog.models import * # 博客核心模型 +from comments.admin import * # 评论相关的 admin 配置 +from comments.models import *# 评论模型 +# 导入自定义的日志条目 admin 配置(扩展日志展示功能) from djangoblog.logentryadmin import LogEntryAdmin -from oauth.admin import * -from oauth.models import * -from owntracks.admin import * -from owntracks.models import * -from servermanager.admin import * -from servermanager.models import * +from oauth.admin import * # 第三方登录(OAuth)相关的 admin 配置 +from oauth.models import * # OAuth 相关模型 +from owntracks.admin import *# 位置追踪(OwnTracks)相关的 admin 配置 +from owntracks.models import *# 位置追踪模型 +from servermanager.admin import *# 服务器管理相关的 admin 配置 +from servermanager.models import *# 服务器管理模型 +# 自定义后台管理站点类(继承自 Django 内置的 AdminSite) class DjangoBlogAdminSite(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=True)访问后台 return request.user.is_superuser + # 以下为注释掉的自定义 URL 示例(可扩展后台功能) # def get_urls(self): + # # 先获取父类默认的 URL 配置 # urls = super().get_urls() # from django.urls import path + # # 导入自定义视图(例如刷新缓存的视图) # from blog.views import refresh_memcache # + # # 定义自定义 URL 规则(如添加一个 /admin/refresh/ 路径) # my_urls = [ # path('refresh/', self.admin_view(refresh_memcache), name="refresh"), # ] + # # 合并默认 URL 和自定义 URL(自定义 URL 优先级更高) # return urls + my_urls +# 实例化自定义的后台管理站点(名称为 'admin',与默认后台路径保持一致) 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 配置到自定义后台站点(实现各模型在后台的管理界面) +# 博客核心模型注册 +admin_site.register(Article, ArticlelAdmin) # 文章模型 + 其admin配置 +admin_site.register(Category, CategoryAdmin) # 分类模型 + 其admin配置 +admin_site.register(Tag, TagAdmin) # 标签模型 + 其admin配置 +admin_site.register(Links, LinksAdmin) # 友情链接模型 + 其admin配置 +admin_site.register(SideBar, SideBarAdmin) # 侧边栏模型 + 其admin配置 +admin_site.register(BlogSettings, BlogSettingsAdmin) # 博客设置模型 + 其admin配置 -admin_site.register(commands, CommandsAdmin) -admin_site.register(EmailSendLog, EmailSendLogAdmin) +# 服务器管理模型注册 +admin_site.register(commands, CommandsAdmin) # 命令模型 + 其admin配置 +admin_site.register(EmailSendLog, EmailSendLogAdmin) # 邮件发送日志 + 其admin配置 -admin_site.register(BlogUser, BlogUserAdmin) +# 用户模型注册 +admin_site.register(BlogUser, BlogUserAdmin) # 自定义用户模型 + 其admin配置 -admin_site.register(Comment, CommentAdmin) +# 评论模型注册 +admin_site.register(Comment, CommentAdmin) # 评论模型 + 其admin配置 -admin_site.register(OAuthUser, OAuthUserAdmin) -admin_site.register(OAuthConfig, OAuthConfigAdmin) +# OAuth 相关模型注册 +admin_site.register(OAuthUser, OAuthUserAdmin) # OAuth用户模型 + 其admin配置 +admin_site.register(OAuthConfig, OAuthConfigAdmin) # OAuth配置 + 其admin配置 -admin_site.register(OwnTrackLog, OwnTrackLogsAdmin) +# 位置追踪模型注册 +admin_site.register(OwnTrackLog, OwnTrackLogsAdmin) # 位置日志 + 其admin配置 +# Django 内置站点模型注册(使用默认的 SiteAdmin 配置) admin_site.register(Site, SiteAdmin) -admin_site.register(LogEntry, LogEntryAdmin) +# 后台操作日志模型注册(使用自定义的 LogEntryAdmin 配置,增强日志展示) +admin_site.register(LogEntry, LogEntryAdmin) \ No newline at end of file