我在Django管理员中有一个模型的工作流程,与用户的工作流程非常相似。首先,我有一个包含基本字段的表单,然后是第二个包含其余数据的表单。
与auth.user相同的工作流程
我需要删除“保存并继续”和“保存并添加其他”按钮,以防止用户破坏工作流程。
我试图将其添加为extra_context
extra_context = { 'show_save_and_add_another': False, 'show_save_and_continue': False }
并通过ModelAdmin.add_view或ModelAdmin.change_view传递它,但是它不起作用。
这仅适用于一种模型,因此我不想从submit_line.html中删除
有什么线索或替代方法吗?
除了(有点尴尬)骇客风格之外,你还可以直接覆盖template标签。通常建议覆盖模板。
# put this in some app such as customize/templatetags/admin_modify.py and place the app # before the 'django.contrib.admin' in the INSTALLED_APPS in settings from django.contrib.admin.templatetags.admin_modify import * from django.contrib.admin.templatetags.admin_modify import submit_row as original_submit_row # or # original_submit_row = submit_row @register.inclusion_tag('admin/submit_line.html', takes_context=True) def submit_row(context): ctx = original_submit_row(context) ctx.update({ 'show_save_and_add_another': context.get('show_save_and_add_another', ctx['show_save_and_add_another']), 'show_save_and_continue': context.get('show_save_and_continue', ctx['show_save_and_continue']) }) return ctx