You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Django/doc/djangoblog/admin_site.py

81 lines
2.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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模块和模型
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 *
class DjangoBlogAdminSite(AdminSite):
"""自定义DjangoBlog管理站点"""
# 管理站点头部标题
site_header = 'djangoblog administration'
# 管理站点页面标题
site_title = 'djangoblog site admin'
def __init__(self, name='admin'):
"""初始化管理站点"""
super().__init__(name)
def has_permission(self, request):
"""检查用户权限:只允许超级用户访问"""
return request.user.is_superuser
# 以下是注释掉的URL配置示例可用于添加自定义管理页面
# def get_urls(self):
# urls = super().get_urls()
# from django.urls import path
# from blog.views import refresh_memcache
#
# my_urls = [
# path('refresh/', self.admin_view(refresh_memcache), name="refresh"),
# ]
# return urls + my_urls
# 创建DjangoBlog管理站点实例
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_site.register(BlogUser, BlogUserAdmin)
# 注册评论模型
admin_site.register(Comment, CommentAdmin)
# 注册OAuth认证相关模型
admin_site.register(OAuthUser, OAuthUserAdmin)
admin_site.register(OAuthConfig, OAuthConfigAdmin)
# 注册OwnTracks位置跟踪模型
admin_site.register(OwnTrackLog, OwnTrackLogsAdmin)
# 注册Django站点模型
admin_site.register(Site, SiteAdmin)
# 注册Django日志条目模型
admin_site.register(LogEntry, LogEntryAdmin)