Python 如何仅为一个管理表单覆盖`base.html`Django admin?
我有一个模型,将用于从用户获取数据。 只有一个输入字段和一个按钮用于提交。Python 如何仅为一个管理表单覆盖`base.html`Django admin?,python,django,django-models,django-forms,django-admin,Python,Django,Django Models,Django Forms,Django Admin,我有一个模型,将用于从用户获取数据。 只有一个输入字段和一个按钮用于提交。 因此,我想删除其他按钮 假设您有一个模型作为类帖子(models.model): 在admin.py文件中创建如下内容: class Post(models.Model): title = ... def change_view(self, request, object_id, form_url='', extra_context=None): extra_context =
因此,我想删除其他按钮 假设您有一个模型作为
类帖子(models.model):
在admin.py文件中创建如下内容:
class Post(models.Model):
title = ...
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
if object_id:
extra_context.update(
instance=Posts.objects.get(pk=object_id)
)
return super().change_view(
request, object_id, form_url=form_url, extra_context=extra_context
)
因此,每当您在管理中转到Posts页面时,都会得到变量{{instance}
然后,您应该在模板
文件夹中创建一个新文件夹,并将其命名为管理员
然后在admin
文件夹中创建一个名为change\u form.html
的新文件(名称很重要)
在该文件中:
{% extends "admin/change_form.html" %}
{% block after_field_sets %}
{% if instance %}
PUT YOUR CHANGES IN HERE
{% endif %}
{% endblock %}
这将只覆盖管理中的Post页面。其他页面将保持不变。
要准确地确定将更改放在何处,您可以检查django的默认
change\u form.html
。0我有一个用于从用户获取数据的模型。只有一个输入字段和一个按钮用于提交。因此,我想删除其他按钮。