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