由于某种原因,我需要在我的项目中有两个不同的Django Admin Site实例 - 默认管理站点和继承自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管理站点中扩展/覆盖模板。 例如,如果我添加,让我们在/ templates / admin /中添加一个空的'base_site.html',那么两个管理站点都会变为空白。
但是当我将相同的文件添加到/ templates / myadmin /时,没有任何事情发生。
任何提示?
答案 0 :(得分:1)
您可以覆盖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"