我想在管理界面的添加/更改表单中添加自定义按钮。默认情况下,只有三个:
保存并添加另一个
保存并继续编辑
节省
我在我的 forms.py
文件中创建了一些自定义方法,我想创建按钮来调用这些方法。我使用了片段 http://djangosnippets.org/snippets/1842/ ,但这并不是我想要的。这允许从 admin.py
文件而不是 forms.py
--- 文件创建按钮和调用方法。
有没有办法做到这一点?
这是我的 admin.py
代码:
class CategoryAdmin(admin.ModelAdmin):
prepopulated_fields = { "alias": ("title",) }
form = CategoryForm
admin.site.register(Category, CategoryAdmin)
还有我的 forms.py
代码:
class CategoryForm(forms.ModelForm):
"""
My attributes
"""
def custom_method(self):
print("Hello, World!")
如何创建调用“custom_method()”的按钮?
原文由 bnabilos 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以覆盖
admin/change_form.html
。将contrib.admin.templates
中的版本复制到您的项目中。我的是myproject/templates/admin/change_form.html
,但你可以使用/myproject/myapp/templates/admin/change_form.html
。接下来,编辑副本并将对现有模板标签
{% submit_row %}
的两个引用更改为指向您自己的模板标签{% my_template_tag %}
。将您的模板标签基于
contrib.admin
的{% submit_row %}
,但编辑 HTML 模板以包含您想要显示的任何额外按钮。