自定义admin中change_list.html中字段的显示
1 使用应用中的change_list.html覆盖admin上的列表显示页面change_list.html
将django中的列表显示页,位于
D:\Python36\Lib\site-packages\django\contrib\admin\templates\admin目录下
的change_list.html change_list_results.html复制到应用中,路径如下:
Mysite/应用名/templates/应用名/
2 在change_list.html页面中看到如下标签
{% result_list cl %}
将其替按为我们的自定义标签,在应用中新建目录templatetags
新建自定义标签,示例代码如下:
from django.contrib.admin.templatetags.admin_list import *
from django import template
#自定义标签
register = template.Library()
#注册标签
@register.inclusion_tag("应用名/change_list_results.html")
def result_list1(cl):
"""
Displays the headers and data list together
"""
headers = list(result_headers(cl))
num_sorted_fields = 0
for h in headers:
if h['sortable'] and h['sorted']:
num_sorted_fields += 1
return {
'cl': cl,
'result_hidden_fields': list(result_hidden_fields(cl)),
'result_headers': headers,
'num_sorted_fields': num_sorted_fields,
#设置返回列表数据
'results': list(results(cl))}
#取得信息列表
def results(cl):
if cl.formset: