当前位置: 首页 > 面试题库 >

在Django admin中,如何在模型admin上隐藏Save and Continue和Save and Add Another按钮?

谈旺
2023-03-14
问题内容

我在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 


 类似资料:
  • 我正在用Selenium开发简单的自动化。我需要单击一个特定的按钮。我不能,因为它隐藏在没有类的div/table中。 我附上了一个html的截图。我确实尝试过xpath、css选择、选择,但仍然一无所获。 HTML

  • 我在vuejs项目的中导入了bootstrap和jquery。像这样 在我的另一个组件中,有一个模型。我希望它在我成功地发出网络请求时关闭。 在上面的模型中,如果按yes,它将在method属性上激发

  • 问题内容: 现在我有两个视图控制器。我的问题是,更改为第二个视图控制器后,我不知道如何隐藏后退按钮。主要是我在Objective-C中找到的参考。如何快速编码? 在Objective-C中隐藏后退按钮代码 问题答案: 根据该文件为:

  • 我有一个javascript函数,可以动态创建一个按钮,该按钮的ID调用一个使其唯一的值。 因为它有一个调用值的id,所以在某些情况下,我将如何使用方法来隐藏这个按钮?

  • 在我的项目中,我可以在iPhone上隐藏状态栏。 但它不适用于我的iPad我怎么能在iPad上隐藏状态栏?

  • 问题内容: 我需要在不同的页面/视图中显示和隐藏后退按钮。我从贾斯汀·诺埃尔那里得到了参考: App控制器切换按钮显示: 但这是行不通的,因为控制器仅被调用一次,而在不同状态下的视图改变时则不会。同样,从其他控制器(链接到不同的状态)更改$ scope.hideBackButton的值对按钮显示没有任何影响。 谁能告诉我如何在每个导航上切换后退按钮显示。我在这里想念什么? 问题答案: 我今天有完全