Django 管理员更改列表视图标题
Django admin changelist view title
如何传递过滤器值来更改列表视图标题?我有报告的管理页面,我想在标题中存储日期,所以它看起来像这样:"Reports summary for day 24-01-2021" 我想获取日期来自列表过滤器 reports__report_date
class AdminReportsProxy(admin.ModelAdmin):
"""Admin model, that creats site of reports summary"""
model = ReportsProxy
actions = None
search_fields = [
"first_name",
"last_name",
]
list_display = [
"get_salesman",
"get_number_of_meetings_today",
"get_number_of_meetings_tomorrow",
"get_number_of_sales",
"get_number_of_recommandations",
"get_net_sales",
"get_report_date",
"edit_report",
]
list_filter = [
("reports__report_date", DateRangeFilter),
NetSalesOrder,
]
def changelist_view(self, request, extra_context=None):
extra_context = {'title': f'Reports summary for day:{}'}
return super(AdminReportsProxy, self).changelist_view(request, extra_context=extra_context)
在覆盖函数 changelist_view
中,只需访问 DateRangeFilter 小部件传递的查询参数,它们应该如下所示
your_filtered_field__gte
-> 起始日期
your_filtered_field__lte
-> 到目前为止
喜欢以下内容:
def changelist_view(self, request, extra_context=None):
date_from = request.GET.get("reports__report_date__gte", None)
date_to = request.GET.get("reports__report_date__lte", None)
if date_from and date_to:
# If these two values are available, you can replace the title of the page.
extra_context = {
"title": f"Report Summary between {date_from} - {date_to}"
}
return super().changelist_view(request, extra_context)
如何传递过滤器值来更改列表视图标题?我有报告的管理页面,我想在标题中存储日期,所以它看起来像这样:"Reports summary for day 24-01-2021" 我想获取日期来自列表过滤器 reports__report_date
class AdminReportsProxy(admin.ModelAdmin):
"""Admin model, that creats site of reports summary"""
model = ReportsProxy
actions = None
search_fields = [
"first_name",
"last_name",
]
list_display = [
"get_salesman",
"get_number_of_meetings_today",
"get_number_of_meetings_tomorrow",
"get_number_of_sales",
"get_number_of_recommandations",
"get_net_sales",
"get_report_date",
"edit_report",
]
list_filter = [
("reports__report_date", DateRangeFilter),
NetSalesOrder,
]
def changelist_view(self, request, extra_context=None):
extra_context = {'title': f'Reports summary for day:{}'}
return super(AdminReportsProxy, self).changelist_view(request, extra_context=extra_context)
在覆盖函数 changelist_view
中,只需访问 DateRangeFilter 小部件传递的查询参数,它们应该如下所示
your_filtered_field__gte
-> 起始日期
your_filtered_field__lte
-> 到目前为止
喜欢以下内容:
def changelist_view(self, request, extra_context=None):
date_from = request.GET.get("reports__report_date__gte", None)
date_to = request.GET.get("reports__report_date__lte", None)
if date_from and date_to:
# If these two values are available, you can replace the title of the page.
extra_context = {
"title": f"Report Summary between {date_from} - {date_to}"
}
return super().changelist_view(request, extra_context)