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 from accounts.admin import * from blog.admin import * from blog.models import * from comments.admin import * from comments.models import * 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 django.contrib.admin import AdminSite #wr 导入Django内置的AdminSite基类,用于构建管理后台 class DjangoBlogAdminSite(AdminSite): """ 自定义管理站点类,继承自Django的AdminSite 用于个性化配置博客系统的管理后台(如标题、权限控制等) """ #wr 管理后台页面顶部的标题(显示在登录页和管理首页的顶部横幅) site_header = 'djangoblog administration' #wr 管理后台的页面标题(显示在浏览器标签页上) site_title = 'djangoblog site admin' def __init__(self, name='admin'): """ 初始化方法,调用父类的初始化逻辑 :param name: 管理站点的标识名称,默认使用'admin'(与Django默认管理站点名称一致,便于路由匹配) """ super().__init__(name) def has_permission(self, request): """ 控制访问管理后台的权限校验 仅允许超级用户(is_superuser为True)访问管理后台 :param request: 当前HTTP请求对象,包含用户信息等 :return: 布尔值,True表示有权限访问,False表示无权限 """ return request.user.is_superuser #wr 创建自定义管理站点的实例,名称为'admin'(与Django默认管理站点标识一致,便于在urls.py中配置路由) admin_site = DjangoBlogAdminSite(name='admin') #wr 以下为注册模型到自定义管理站点: #wr 将数据模型与对应的Admin配置类绑定,使模型在管理后台可见并可操作 #wr 注册文章模型(Article)及其实例配置类(ArticlelAdmin),用于管理博客文章 admin_site.register(Article, ArticlelAdmin) #wr 注册分类模型(Category)及其实例配置类(CategoryAdmin),用于管理文章分类 admin_site.register(Category, CategoryAdmin) #wr 注册标签模型(Tag)及其实例配置类(TagAdmin),用于管理文章标签 admin_site.register(Tag, TagAdmin) #wr 注册链接模型(Links)及其实例配置类(LinksAdmin),用于管理友情链接 admin_site.register(Links, LinksAdmin) #wr 注册侧边栏模型(SideBar)及其实例配置类(SideBarAdmin),用于管理网站侧边栏内容 admin_site.register(SideBar, SideBarAdmin) #wr 注册博客设置模型(BlogSettings)及其实例配置类(BlogSettingsAdmin),用于管理博客全局设置 admin_site.register(BlogSettings, BlogSettingsAdmin) #wr 注册命令日志模型(commands)及其实例配置类(CommandsAdmin),用于管理系统命令执行记录 admin_site.register(commands, CommandsAdmin) #wr 注册邮件发送日志模型(EmailSendLog)及其实例配置类(EmailSendLogAdmin),用于管理邮件发送记录 admin_site.register(EmailSendLog, EmailSendLogAdmin) #wr 注册自定义用户模型(BlogUser)及其实例配置类(BlogUserAdmin),用于管理网站用户 admin_site.register(BlogUser, BlogUserAdmin) #wr 注册评论模型(Comment)及其实例配置类(CommentAdmin),用于管理文章评论 admin_site.register(Comment, CommentAdmin) #wr 注册第三方登录用户模型(OAuthUser)及其实例配置类(OAuthUserAdmin),用于管理第三方登录用户 admin_site.register(OAuthUser, OAuthUserAdmin) #wr 注册第三方登录配置模型(OAuthConfig)及其实例配置类(OAuthConfigAdmin),用于管理第三方登录平台配置 admin_site.register(OAuthConfig, OAuthConfigAdmin) #wr 注册位置追踪日志模型(OwnTrackLog)及其实例配置类(OwnTrackLogsAdmin),用于管理位置追踪记录 admin_site.register(OwnTrackLog, OwnTrackLogsAdmin) #wr 注册站点模型(Site)及其实例配置类(SiteAdmin),用于管理多站点配置(Django自带的sites框架) admin_site.register(Site, SiteAdmin) #wr 注册操作日志模型(LogEntry)及其实例配置类(LogEntryAdmin),用于管理用户在管理后台的操作记录 admin_site.register(LogEntry, LogEntryAdmin)