Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

 

登陆密码设置参考

http://www.cnblogs.com/ujq3/p/8553784.html

Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

 

list_filter = ('source','consultant','consult_courses',)

 

Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

 

list_filter = ('source','consultant','consult_courses',)


Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

 

list_filter = ()        # 过滤器(可以包含ManyToManyField) (注意加 逗号 , )


Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

 

 

 

 

Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

 

  1 {#table_data_list.html#}
  2 {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#}
  3 
  4 {% extends 'king_master/king_index.html' %}   {#继承模板#}
  5 {% load kingadmin_tags %} {#通过自己定义标签获取中文,Django中利用filter与simple_tag为前端自定义函数的实现方法#}
  6 
  7 {% block right-container-content %}
  8 
  9     {#调用kingadmin_tags里的方法  获取   base_admin的值 #}
 10     <h4>{% get_model_verbose_name admin_obj.model  %}</h4>
 11 
 12 
 13 
 14     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
 15     {#判断 crm/kingadmin.py 里class CustomerAdmin(BaseAdmin):有没有使用list_filter = ('source',) #}
 16     {% if admin_obj.list_filter %}
 17         <div class="row">
 18             <form>
 19                 {#循环 上面 list_filter = ('source',)  的字段   #}
 20                 {% for filter_column in admin_obj.list_filter %}
 21                     <div class="col-lg-1">{#最多12份 空间 #}
 22                         <div>{{ filter_column }}</div>
 23 
 24 {#到后端取值,传参数到后端, kingadmin/templatetags/kingadmin_tags.py的def get_filter_field (filter_column,admin_obj):    #}
 25                         <div>{% get_filter_field  filter_column admin_obj %}</div>
 26                     </div>
 27                 {% endfor %}
 28                     <div>
 29                         <input type="submit" class="btn btn-success" value="过滤">
 30                     </div>
 31             </form>
 32         </div>
 33     {% endif %}
 34     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
 35 
 36     
 37 
 38 
 39     <table class="table table-hover">
 40           <thead>
 41             <tr>
 42             {#循环调用kingadmin/base_admin里的class BaseAdmin下的list_display = () 方法#}
 43                 {% for column in admin_obj.list_display %}
 44                     <th>{{ column }}</th>
 45                 {% endfor %}
 46             </tr>
 47           </thead>
 48 
 49         {## ————————09PerfectCRM实现King_admin显示注册表的内容————————#}
 50           <tbody>
 51             {#循环调用kingadmin/views 里的def table_data_list下的admin_obj.querysets #}
 52             {% for obj in admin_obj.querysets %}
 53                 <tr>
 54                     {#通过kingadmin_tags在后台处理 再传到前端 #}
 55                     {#调用kingadmin/templateags/kingadmin_tags 里的def build_table_row(admin_obj,obj):#}
 56                     {% build_table_row  admin_obj obj  %}
 57                 </tr>
 58             {% endfor %}
 59           </tbody>
 60         {## ————————09PerfectCRM实现King_admin显示注册表的内容————————#}
 61 
 62     </table>
 63 
 64     {## ————————12PerfectCRM实现King_admin分页上下页————————#}
 65     <div class="row">
 66         <div class="pagination">
 67             <span class="step-links">
 68                 {% if admin_obj.querysets.has_previous  %}
 69 
 70                     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
 71 {#                     <a href="?page={{ admin_obj.querysets.previous_page_number }}#}
 72                    <a href="?page={{ admin_obj.querysets.previous_page_number }}{%  generate_filter_url admin_obj %}">上一页 </a>
 73                      {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
 74 
 75                 {% endif %}
 76 
 77                 <span class="current">
 78                     第{{ admin_obj.querysets.number }}页,共{{ admin_obj.querysets.paginator.num_pages }}页
 79                 </span>
 80 
 81                 {% if admin_obj.querysets.has_next %}
 82 
 83                     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
 84 {#                    <a href="?page={{ admin_obj.querysets.next_page_number }}#}
 85                     <a href="?page={{ admin_obj.querysets.next_page_number }}{%  generate_filter_url admin_obj %}">下一页</a>
 86                        {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
 87 
 88                 {% endif %}
 89             </span>
 90         </div>
 91     </div>
 92     {## ————————12PerfectCRM实现King_admin分页上下页————————#}
 93 
 94 {## ————————13PerfectCRM实现King_admin分页页数————————#}
 95     <nav aria-label="...">
 96       <ul class="pagination">
 97         <li class="disabled"></li>
 98           {% for  page in admin_obj.querysets.paginator.page_range  %}  {#循环 分页 范围#}
 99 
100               {% if page == admin_obj.querysets.number  %} {#当前页高亮,否则不加高亮#}
101                   <li class="active">
102               {% else %}
103                    <li >
104               {% endif %}
105 
106                                         {#后台拼接返回,kingadmin/templatetags/kingadmin_tags.py 里def generate_filter_url(admin_obj):#}
107               <a href="?page={{ page }}{%  generate_filter_url admin_obj %}">{{ page }}</a>
108               </li>
109           {% endfor %}
110       </ul>
111     </nav>
112 {## ————————13PerfectCRM实现King_admin分页页数————————#}
113 
114 {## ————————14PerfectCRM实现King_admin分页的省略显示————————#}
115     <div class="row panel-body">
116         <nav aria-label="...">
117             <ul class="pagination">
118                 <!--如果有上一页-->
119                 {% if admin_obj.querysets.has_previous %}
120                     <li><a href="?page={{ admin_obj.querysets.previous_page_number }}{% generate_filter_url admin_obj %}"
121                            aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
122                 {% else %}
123                     <li class="disabled">
124                         <a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
125                 {% endif %}
126 
127                 <!--#分页的省略显示  kingadmin/templatetags/kingadmin_tags.py里def pag_omit(request,admin_obj):-->
128                 {% pag_omit request admin_obj %}
129 
130                 <!--如果有下一页-->
131                 {% if admin_obj.querysets.has_next %}
132                     <li><a href="?page={{ admin_obj.querysets.next_page_number }}{% generate_filter_url admin_obj %}"
133                            aria-label="Previous"><span aria-hidden="true">&raquo;</span></a></li>
134                 {% else %}
135                     <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&raquo;</span></a>
136                     </li>
137                 {% endif %}
138             </ul>
139         </nav>
140     </div>
141 {## ————————14PerfectCRM实现King_admin分页的省略显示————————#}
142 
143 
144 {% endblock %}
145 {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#}
{#table_data_list.html#}

相关文章: