Job Search Engine


734 浏览 5 years, 1 month

2.12 后台高级配置

版权声明: 转载请注明出处 http://www.codingsoho.com/

后台高级配置

这一节我们介绍一点后台的高级配置。需要说明的是,多数据库的内容也可以在后台正常显示。

之前的admin写的非常简单,最终显示的时候只有一列,非常难看,不能搜索,不能过滤。现在我们在后台同样实现这些功能。

  • 添加多个显示列:可以通过list_display
  • 支持字段搜索:search_fields
  • 支持过滤:list_filter
  • 每页最大显示条目数:list_per_page
  • 最大支持全部显示的条目数,超过这个就不能全部显示 list_max_show_all
  • 从后台直接超链接到前台 view_on_site

最终代码如下

class JobEntryAdmin(admin.ModelAdmin):
    list_display  = [
            'title',
            'salary',
            'region',
            'degree',
            'experience',
            'company',
            'industry',
            # 'description'
        ]
    search_fields   = [
            'title',
            'salary',
            'region',
            'degree',
            'experience',
            'company',
            'industry',
        ]
    list_filter   = [
            'degree',
            'experience',
        ]
    list_per_page = 100
    list_max_show_all = 500
    view_on_site  = True
    def view_on_site(self, obj):
        url = reverse('job_entry_detail', kwargs={'pk': obj.pk})
        return url
    class Meta:
        model = JobEntry
admin.site.register(JobEntry, JobEntryAdmin)

效果图