我希望为django可重复使用的应用添加custom action我设计,但不是特定于单个模型,我想在上面添加一个动作的链接管理站点的首页。
是否可以轻松地在Django中向主页添加链接或站点范围的操作,还是重写模板?
答案 0 :(得分:2)
是否可以轻松地将链接或站点范围的操作添加到Django的主页...
链接是,请注意确保站点范围内的操作意味着什么。
还是覆盖模板的问题?
是的,这是覆盖模板(AFAIK)的问题。但简单而重要的模板并不是相互排斥的。
对于任何到这里的人,因为他们只是想要简单的标准方式实际上#34;添加自定义动作[即链接]到Django主页" (在django 1.9中测试):
鉴于一个名为“myproj”的django项目。你当前的工作目录是项目目录:
mkdir -p myproj/templates/admin/
edit myproj/templates/admin/index.html
从index.html
模板中的以下内容开始,您的网站将保持不变。然后小心翼翼地将链接放在这些块中以满足您的需求。
{% extends "admin/index.html" %}
{% block content %}
{{ block.super }}
{% endblock %}
{% block sidebar %}
{{ block.super }}
{% endblock %}
答案 1 :(得分:-1)
创建自定义操作方法并调用操作列表。
class YourCustomClass(admin.ModelAdmin):
model: YourModel
actions = ['make_active', 'make_inactive',]
def make_active(self, request, queryset):
'''make_active from action'''
queryset.update(is_active=True)
make_active.short_description = "Make selected users as Active"
def make_inactive(self, request, queryset):
'''make_inactive from action'''
queryset.update(is_active=False)
make_inactive.short_description = "Make selected users as Inactive"