【发布时间】:2019-10-16 12:45:12
【问题描述】:
为了自定义默认管理站点,我做了以下更改:
admin.py:
class CustomAdminSite(admin.AdminSite):
def get_urls(self):
urls = super(CustomAdminSite, self).get_urls()
custom_urls = [
# re_path(r'^.*\.html', views.custom_admin_template_loader, name='custom-loader'),
url(r'^.*\.html', self.admin_view(self.my_view), name="my-view"),
]
return urls + custom_urls
def my_view(self, request):
context = {}
load_template = request.path.split('/')[-1]
template = loader.get_template('admin/' + load_template)
request.current_app = self.name
return HttpResponse(template.render(context, request))
apps.py:
from django.contrib.admin.apps import AdminConfig
class MyAdminConfig(AdminConfig):
default_site = 'myproject.admin.CustomAdminSite'
settings.py:
INSTALLED_APPS = [
'myproject.apps.MyAdminConfig',
urls.py 中没有任何变化
所以如果我访问 admin/ 它可以工作,但是如果我使用我创建的视图访问另一个模板,它会说您没有编辑任何内容的权限,如何修复它? 为了澄清为什么我使用该视图,这是因为我覆盖了默认的管理模板,现在我有一个导航栏,这意味着我需要浏览不同的 html 文件(模板)
【问题讨论】: