|
|
|
|
@ -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) # 操作日志模型
|