Django 管理员将变量传递给用户和组模板
Django admin pass variables to users and groups template
我可以通过以下方式将变量传递给管理索引页面中的模板:
class MyAdminSite(AdminSite):
def index(self, request, extra_context=None):
extra_context = extra_context or {}
extra_context['Sched_today'] = date.today()
return super(MyAdminSite, self).index(request, extra_context=extra_context)
但是如何将变量传递给管理员用户和组的模板 (changelist_view, change_view, add_view
)
您可以覆盖 add_view
、change_view
和 changelist_view
model admin methods。
from django.contrib.auth.admin import UserAdmin
class MyUserAdmin(UserAdmin):
def add_view(self, request, form_url='', extra_context=None)
extra_context = extra_context or {}
extra_context['Sched_today'] = date.today()
return super(MyUserAdmin, self).add_view(request, form_url, extra_context)
继承UserAdmin
很重要,否则你会遇到密码问题。请记住先取消注册 User
模型,然后再注册您自己的模型管理员。
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
我可以通过以下方式将变量传递给管理索引页面中的模板:
class MyAdminSite(AdminSite):
def index(self, request, extra_context=None):
extra_context = extra_context or {}
extra_context['Sched_today'] = date.today()
return super(MyAdminSite, self).index(request, extra_context=extra_context)
但是如何将变量传递给管理员用户和组的模板 (changelist_view, change_view, add_view
)
您可以覆盖 add_view
、change_view
和 changelist_view
model admin methods。
from django.contrib.auth.admin import UserAdmin
class MyUserAdmin(UserAdmin):
def add_view(self, request, form_url='', extra_context=None)
extra_context = extra_context or {}
extra_context['Sched_today'] = date.today()
return super(MyUserAdmin, self).add_view(request, form_url, extra_context)
继承UserAdmin
很重要,否则你会遇到密码问题。请记住先取消注册 User
模型,然后再注册您自己的模型管理员。
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)