是否可以允许从 django 管理站点的 list_display 视图创建对象?
Is it possible to allow to create objects from the list_display view of the django admin site?
我有一个带有字段名称的模型,roll_no,birth_date
我正在使用 django 管理员的列表显示和可编辑列表,以在单个页面中以列表格式显示和编辑这些字段。但是,要添加新条目,我必须转到 create_form 页面。
是否可以简单地从 list_display 页面本身添加新对象?
不幸的是,此功能不可用 out-of-the Django 管理中的框,如 ModelAdmin.list_editable
feature。
我很好奇是否还有其他快捷方式,但目前我看到的唯一方法是自定义表单集,如 descibed in the official Docs:
from django import forms
class MyForm(forms.ModelForm):
# customize your 'extra' forms here
class MyModelAdmin(admin.ModelAdmin):
def get_changelist_form(self, request, **kwargs):
return MyForm
最后手动扩展管理员的更改列表表单模板。要覆盖 Django 管理模板,请按照官方文档 here 中的说明进行操作。要自定义的模板是以下文件夹:
.../django/contrib/admin/templates/admin/change_list.html
您可能需要覆盖该文件中的 {% block result_list %}
。
注意:自定义管理模板可能非常棘手。如果您需要扩展用户体验,请考虑使用 CMS(如 DjangoCMS)。 Django 管理员背后的想法是使用 out-of-the-box 接口让您的数据库上的 CRUD 更轻松。恕我直言,如果不是严格需要,尽量避免对 Django Admin 进行复杂的自定义。
我有一个带有字段名称的模型,roll_no,birth_date 我正在使用 django 管理员的列表显示和可编辑列表,以在单个页面中以列表格式显示和编辑这些字段。但是,要添加新条目,我必须转到 create_form 页面。 是否可以简单地从 list_display 页面本身添加新对象?
不幸的是,此功能不可用 out-of-the Django 管理中的框,如 ModelAdmin.list_editable
feature。
我很好奇是否还有其他快捷方式,但目前我看到的唯一方法是自定义表单集,如 descibed in the official Docs:
from django import forms
class MyForm(forms.ModelForm):
# customize your 'extra' forms here
class MyModelAdmin(admin.ModelAdmin):
def get_changelist_form(self, request, **kwargs):
return MyForm
最后手动扩展管理员的更改列表表单模板。要覆盖 Django 管理模板,请按照官方文档 here 中的说明进行操作。要自定义的模板是以下文件夹:
.../django/contrib/admin/templates/admin/change_list.html
您可能需要覆盖该文件中的 {% block result_list %}
。
注意:自定义管理模板可能非常棘手。如果您需要扩展用户体验,请考虑使用 CMS(如 DjangoCMS)。 Django 管理员背后的想法是使用 out-of-the-box 接口让您的数据库上的 CRUD 更轻松。恕我直言,如果不是严格需要,尽量避免对 Django Admin 进行复杂的自定义。