|
|
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) |