覆盖我的应用程序之外的单个模型的 django 管理更改表单?

mga*_*lgs 5 django django-templates django-admin

我目前正在change_form.html通过将其放入以下内容来覆盖我的应用程序:

myproject/myapp/templates/admin/change_form.html
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我真的只想覆盖User模型的更改表单,而没有其他任何事情。如果我把它放进去,它似乎不起作用:

myproject/myapp/templates/admin/user/change_form.html
Run Code Online (Sandbox Code Playgroud)

我猜这是因为该User模型不是来自我的应用程序?

在其他应用程序(即应用程序)中覆盖change_list.html特定模型的最干净的方法是什么?django.contrib.auth


相关片段来自settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'unicorn.context_processors.site_url',
                'unicorn.context_processors.consultant_data',
                'unicorn.context_processors.branding',
            ],
            'builtins': ['tracking.templatetags.tracking_extras'],
            'loaders': [
                'django.template.loaders.filesystem.Loader',
                'django.template.loaders.app_directories.Loader',
            ],
        },
    },
]
Run Code Online (Sandbox Code Playgroud)

vd1*_*vd1 1

设置.py

TEMPLATES = [
    {
        'BACKEND': ...,
        'DIRS': [
            os.path.join(BASE_DIR, 'templates'),
        ],
        ...
    }
]
Run Code Online (Sandbox Code Playgroud)

放在admin/auth/user/change_form.html项目templates目录中。