出于某种原因,我需要在我的项目中有两个Django管理站点的不同实例&默认管理站点和从AdminSite继承类的实例。
所以我创建了一个类MyAdminSite(AdminSite)
然后我写了这样的话:
my_admin_site = MyAdminSIte(name='myadmin')
然后,我在urls.py中添加了适当的条目。
一切都很好。
但是现在我想定制一些模板。
在settings.py中:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'templates'),)
然后我创建了目录:/PROJECTDIR/templates/admin
和/PROJECTDIR/templates/myadmin
问题是,我不能在'myadmin‘django管理站点中扩展/重写模板。例如,如果我将一个空的'base_site.html‘添加到/templates/ admin /中,那么两个管理站点都变成空白。
但是,当我将相同的文件添加到/templates/myadmin/中时,什么都没有发生。
有小费吗?
发布于 2013-12-08 12:53:44
可以重写AdminSite
的类变量以指定不同的模板:
app_index_template = None
login_template = None
logout_template = None
password_change_template = None
password_change_done_template = None
还可以重写ModelAdmin
的类变量以指定不同的模板:
add_form_template = None
change_form_template = None
change_list_template = None
delete_confirmation_template = None
delete_selected_confirmation_template = None
object_history_template = None
例如:
class MyAdminSite(AdminSite):
app_index_template = "my/new/admin/app_index.html"
https://stackoverflow.com/questions/20457157
复制