zoukankan      html  css  js  c++  java
  • Django项目:CRM(客户关系管理系统)--30--22PerfectCRM实现King_admin数据添加

    登陆密码设置参考

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

     1 # king_urls.py
     2 # ————————02PerfectCRM创建ADMIN页面————————
     3 from django.conf.urls import url
     4 from king_admin import views
     5 
     6 urlpatterns = [
     7     url(r'^$', views.app_index),#主页
     8 
     9     # ————————21PerfectCRM实现King_admin查看页面美化————————
    10     url(r'^(w+)/$', views.table_index, name='table_index'),  # 单个具体app页面
    11     # ————————21PerfectCRM实现King_admin查看页面美化————————
    12 
    13     # ————————08PerfectCRM实现King_admin显示注册表的字段表头————————
    14     url(r'^(w+)/(w+)/$', views.table_data_list,name='table_data_list'),#详细内容
    15     # ————————08PerfectCRM实现King_admin显示注册表的字段表头————————
    16 
    17     # ————————19PerfectCRM实现King_admin数据修改————————
    18     url(r'^(w+)/(w+)/(d+)/change/$', views.table_change,name='table_change'),#修改信息
    19     # ————————19PerfectCRM实现King_admin数据修改————————
    20 
    21     # ————————22PerfectCRM实现King_admin数据添加————————
    22     url(r'^(w+)/(w+)/add/$', views.table_add,name='table_add'),  #添加信息
    23     # ————————22PerfectCRM实现King_admin数据添加————————
    24 
    25 ]
    26 # ————————02PerfectCRM创建ADMIN页面————————
    # king_urls.py

      1 #views
      2 
      3 # ————————02PerfectCRM创建ADMIN页面————————
      4 from django.shortcuts import render
      5 
      6 # ————————04PerfectCRM实现King_admin注册功能————————
      7 # from django import conf #配置文件
      8 # print("dj conf:",conf) #配置文件
      9 # print("dj conf:",conf.settings)#配置文件.设置
     10 # ————————04PerfectCRM实现King_admin注册功能————————
     11 
     12 # ————————04PerfectCRM实现King_admin注册功能————————
     13 from king_admin import app_config #自动调用  动态加载类和函数
     14 # ————————04PerfectCRM实现King_admin注册功能————————
     15 
     16 # ————————04PerfectCRM实现King_admin注册功能————————
     17 # from king_admin.base_admin import registered_sites # registered_sites={}
     18 from king_admin import base_admin
     19 # ————————04PerfectCRM实现King_admin注册功能————————
     20 
     21 # ————————11PerfectCRM实现King_admin基本分页————————
     22 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger  # 分页功能
     23 # ————————11PerfectCRM实现King_admin基本分页————————
     24 
     25 def app_index(request):
     26     # ————————04PerfectCRM实现King_admin注册功能————————
     27     # for app in conf.settings.INSTALLED_APPS:
     28     #     print(app)#循环打印 配置文件.设置.安装应用程序#.Perfectcustomersettings里的INSTALLED_APPS列表
     29     # ————————04PerfectCRM实现King_admin注册功能————————
     30     
     31     # ————————04PerfectCRM实现King_admin注册功能————————
     32     # return render(request, 'king_admin/app_index.html')
     33     # print("registered_sites",registered_sites)
     34     # return render(request, 'king_admin/app_index.html')
     35     # ————————04PerfectCRM实现King_admin注册功能————————
     36 
     37     # ————————04PerfectCRM实现King_admin注册功能————————
     38     # print("registered_sites", base_admin.registered_sites)
     39     # return render(request, 'king_admin/app_index.html')
     40     # ————————04PerfectCRM实现King_admin注册功能————————
     41     
     42     # ————————05PerfectCRM实现King_admin注册功能获取内存————————
     43     print("registered_sites",base_admin.site.registered_sites)
     44     return render(request, 'king_admin/app_index.html', {"site": base_admin.site})
     45 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
     46 
     47 # ————————02PerfectCRM创建ADMIN页面————————
     48 
     49 
     50 # ————————13PerfectCRM实现King_admin分页页数————————
     51 #处理def table_data_list(request,app_name,model_name):里的内容,
     52 def filter_querysets(request,queryset):
     53     condtions = {}
     54     for k,v in request.GET.items():#不需要空的,判断是否为空
     55         # ————————18PerfectCRM实现King_admin搜索关键字————————
     56         # ————————17PerfectCRM实现King_admin单列排序————————
     57         # if k=="page":continue##kingadmin分页功能
     58 
     59         # if k=="page":continue##kingadmin分页功能 #写法一
     60         # elif k=="_o":continue##kingadmin排序功能  <a href="?_o={{ column }}">{{ column }}</a>
     61 
     62         # if k in ("page","_o") :continue #kingadmin分页功能   #kingadmin排序功能   #写法二
     63 
     64         # if k == "page"or k == "_o": #保留的分页关键字 和  排序关键字 #写法三
     65         #     continue #continue是结束单次循环
     66         # ————————17PerfectCRM实现King_admin单列排序————————
     67         if k in ("page", "_o", "_q"): continue  # kingadmin分页,排序,搜索#判断标签是否存在 自定义的名称
     68         # ————————18PerfectCRM实现King_admin搜索关键字————————
     69 
     70 
     71         # ————————15PerfectCRM实现King_admin多条件过滤————————
     72         if v:
     73             condtions[k] = v
     74         # ————————15PerfectCRM实现King_admin多条件过滤————————
     75     query_res = queryset.filter(**condtions)
     76     return query_res,condtions
     77 # ————————13PerfectCRM实现King_admin分页页数————————
     78 
     79 # ————————08PerfectCRM实现King_admin显示注册表的字段表头————————
     80 def table_data_list(request,app_name,model_name):
     81     #通过2个参数到base_admin里获取class AdminRegisterException(Exception): 的对象
     82     admin_obj = base_admin.site.registered_sites[app_name][model_name]  #base_admin
     83 
     84     # ————————09PerfectCRM实现King_admin显示注册表的内容————————
     85     admin_obj.querysets =  admin_obj.model.objects.all()#取数据 传到 前端
     86     # ————————09PerfectCRM实现King_admin显示注册表的内容————————
     87 
     88     # ————————11PerfectCRM实现King_admin分页显示条数————————
     89     # from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger  # 分页功能#放在顶上导入
     90     obj_list =  admin_obj.model.objects.all()#取数据 传到 前端  #base_admin  #获取传过来的所有对象
     91 
     92     # ————————13PerfectCRM实现King_admin分页页数————————
     93     queryset, condtions = filter_querysets(request, obj_list)  #base_admin   # 调用条件过滤
     94     # ————————13PerfectCRM实现King_admin分页页数————————
     95 
     96     # ————————18PerfectCRM实现King_admin搜索关键字————————
     97     queryset = get_queryset_search_result(request,queryset,admin_obj)##搜索后
     98     # ————————18PerfectCRM实现King_admin搜索关键字————————
     99 
    100     # ————————17PerfectCRM实现King_admin单列排序————————
    101     sorted_queryset = get_orderby(request, queryset) #过滤后的结果
    102     # ————————15PerfectCRM实现King_admin多条件过滤————————
    103     # paginator = Paginator(obj_list,admin_obj.list_per_page)  #kingadmin里class CustomerAdmin(BaseAdmin):
    104     # paginator = Paginator(queryset, admin_obj.list_per_page)
    105     # ————————15PerfectCRM实现King_admin多条件过滤————————
    106     paginator = Paginator(sorted_queryset, admin_obj.list_per_page)
    107     # ————————17PerfectCRM实现King_admin单列排序————————
    108 
    109 
    110     page = request.GET.get('page')
    111     try:
    112         objs = paginator.page(page)  # 当前的页面的数据
    113     except PageNotAnInteger:
    114         # 如果页面不是一个整数,交付第一页。
    115         objs = paginator.page(1)
    116     except EmptyPage:
    117         # 如果页面的范围(例如9999),交付最后一页的搜索结果。
    118         objs = paginator.page(paginator.num_pages)
    119     admin_obj.querysets = objs  # base_admin
    120 
    121     # ————————13PerfectCRM实现King_admin分页页数————————
    122     admin_obj.filter_condtions = condtions  # base_admin
    123     # ————————13PerfectCRM实现King_admin分页页数————————
    124 
    125     # ————————11PerfectCRM实现King_admin分页显示条数————————
    126 
    127     return render(request,"king_admin/table_data_list.html",locals())
    128 # ————————08PerfectCRM实现King_admin显示注册表的字段表头————————
    129 
    130 
    131 
    132 # ————————17PerfectCRM实现King_admin单列排序————————
    133 def get_orderby(request,queryset):
    134     # order_by_key = request.GET.get("_o")   #获取URL里有没有("_o") <a href="?_o={{ column }}">{{ column }}</a>
    135     # #页面刚开始没有这个值
    136     # if order_by_key != None:  #有("_o")这个值 就进行排序
    137     #     query_res = queryset.order_by(order_by_key)
    138     # else: #没有就不排序,直接返回
    139     #     query_res = queryset
    140     # return query_res     #排序时会错
    141 
    142     orderby_key = request.GET.get("_o")
    143     if orderby_key:
    144         return  queryset.order_by(orderby_key)
    145     return  queryset
    146 
    147 #在table_data_list添加
    148 # def table_data_list(request,app_name,model_name): #详细列表
    149 # sorted_queryset = get_orderby(request, queryset)
    150 #在filter_querysets添加
    151 #if k == "page"or k == "_o": #保留的分页关键字 和  排序关键字
    152 # ————————17PerfectCRM实现King_admin单列排序————————
    153 
    154 # ————————18PerfectCRM实现King_admin搜索关键字————————
    155 from django.db.models import Q
    156 def get_queryset_search_result(request,queryset,admin_obj):
    157     search_key = request.GET.get("_q", "")#取定义名,默认为空
    158     q_obj = Q()#多条件搜索 #from django.db.models import Q
    159     q_obj.connector = "OR"  # or/或 条件
    160     for column in admin_obj.search_fields: #搜索目标crm/kingadmin里class CustomerAdmin(BaseAdmin):search_fields = ('name','qq',)
    161         q_obj.children.append(("%s__contains" % column, search_key)) #运态添加多个条件
    162     res = queryset.filter(q_obj) #对数据库进行条件搜索
    163     return res   #返回结果
    164 #在table_data_list添加
    165 #def table_data_list(request,app_name,model_name): #详细列表
    166 #      queryset = get_queryset_search_result(request,queryset,admin_obj)
    167 # ————————18PerfectCRM实现King_admin搜索关键字————————
    168 
    169 # ————————19PerfectCRM实现King_admin数据修改————————
    170 from  king_admin import forms
    171 #修改内容
    172 # def table_change(request,app_name,model_name):
    173 #     obj_form = forms.CustomerModelForm()  #创建一个空表单
    174 #     return render(request,"kingadmin/table_change.html",locals())
    175 
    176 def table_change(request,app_name,model_name,obj_id):
    177     admin_obj = base_admin.site.registered_sites[app_name][model_name]   #获取表对象
    178                 #kingadmin/forms.py里def CreateModelForm(request,admin_obj):
    179     model_form = forms.CreateModelForm(request,admin_obj=admin_obj)  ##modelform 生成表单 加验证
    180     # obj_form = model_form()  # 表单
    181     obj = admin_obj.model.objects.get(id=obj_id)#根据ID获取数据记录
    182 
    183     # ————————20PerfectCRM实现King_admin数据修改美化————————
    184     # #面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。
    185     # obj_form = model_form(instance=obj)  # 数据传入表单
    186 
    187     if request.method == "GET":
    188         obj_form = model_form(instance=obj)
    189     elif request.method == "POST":
    190         obj_form = model_form(instance=obj,data=request.POST)
    191         if obj_form.is_valid():
    192             obj_form.save()
    193     # ————————20PerfectCRM实现King_admin数据修改美化————————
    194 
    195     return render(request,"king_admin/table_change.html",locals())
    196 # ————————19PerfectCRM实现King_admin数据修改————————
    197 
    198 # ————————21PerfectCRM实现King_admin查看页面美化————————
    199 #单个具体app页面
    200 def table_index(request,app_name):
    201     bases=base_admin.site.registered_sites[app_name]#取出对应app对象
    202     return render(request, 'king_admin/table_index.html', {"site":bases,'app_name':app_name})
    203 # ————————21PerfectCRM实现King_admin查看页面美化————————
    204 
    205 
    206 
    207 
    208 
    209 # ————————22PerfectCRM实现King_admin数据添加————————
    210 from django.shortcuts import redirect  # kingadmin添加内容
    211 def table_add(request,app_name,model_name):
    212     admin_obj = base_admin.site.registered_sites[app_name][model_name]  #获取表对象
    213     model_form = forms.CreateModelForm(request,admin_obj=admin_obj) ##modelform 生成表单 加验证
    214 
    215     if request.method == "GET":
    216         obj_form = model_form()
    217 
    218     elif request.method == "POST":
    219         obj_form = model_form(data=request.POST)  #创建数据
    220         if obj_form.is_valid():
    221             obj_form.save()
    222         if not obj_form.errors:   #没有错误返回原来的页面
    223             #from django.shortcuts import redirect
    224             return  redirect("/king_admin/%s/%s/" % (app_name,model_name))
    225     return render(request, "king_admin/table_add.html", locals())
    226 
    227 # ————————22PerfectCRM实现King_admin数据添加————————
    #views

    1 {#table_add.html#}
    2 
    3 {% extends 'king_admin/table_change.html' %}{#继承模板#}
    {#table_add.html#}

      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 {# # ————————21PerfectCRM实现King_admin查看页面美化———————— #}
     10     <div class="row" style="margin-bottom: 20px" >
     11         <ol class="breadcrumb">
     12           <li><a href="/king_admin/">主页</a></li>
     13           <li><a href="/king_admin/{% get_app_name admin_obj.model %}/">{% get_app_name admin_obj.model %}</a></li>
     14           <li class="active">{% get_model_verbose_name admin_obj.model%}</li>
     15           {# # ————————22PerfectCRM实现King_admin数据添加———————— #}
     16           <a href="{{ request.path }}add/" class="btn btn-sm btn-success pull-right">+添加 {% get_model_verbose_name admin_obj.model%} </a>
     17           {# # ————————22PerfectCRM实现King_admin数据添加———————— #}
     18 
     19         </ol>
     20 
     21     </div>
     22 {# # ————————21PerfectCRM实现King_admin查看页面美化———————— #}
     23 
     24     {#调用kingadmin_tags里的方法  获取   base_admin的值 #}
     25     <h4>{% get_model_verbose_name admin_obj.model  %}</h4>
     26 
     27 
     28 
     29     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
     30     {#判断 crm/kingadmin.py 里class CustomerAdmin(BaseAdmin):有没有使用list_filter = ('source',) #}
     31     {% if admin_obj.list_filter %}
     32         <div class="row">
     33             <form>
     34                 {#循环 上面 list_filter = ('source',)  的字段   #}
     35                 {% for filter_column in admin_obj.list_filter %}
     36                     <div class="col-lg-1">{#最多12份 空间 #}
     37                         <div>{{ filter_column }}</div>
     38 
     39 {#到后端取值,传参数到后端, kingadmin/templatetags/kingadmin_tags.py的def get_filter_field (filter_column,admin_obj):    #}
     40                         <div>{% get_filter_field  filter_column admin_obj %}</div>
     41                     </div>
     42                 {% endfor %}
     43                     <div>
     44                         <input type="submit" class="btn btn-success" value="过滤">
     45                     </div>
     46 
     47                     {## ————————17PerfectCRM实现King_admin单列排序————————#}
     48                     <div>
     49                                                       {# 隐藏  #}                       {# 过滤后排序功能  #}
     50                         <input type="hidden" name="_o" value="{% get_current_orderby_key request %}">
     51                     </div>
     52                     {## ————————17PerfectCRM实现King_admin单列排序————————#}
     53 
     54                 {## ————————18PerfectCRM实现King_admin搜索关键字————————#}
     55                 <hr>                                             {#过滤后搜索功能1#}  {## 搜索框里保留搜索值 #}
     56 {#                <input type="text" name="_q" value="{% get_search_key request %}">#}
     57 
     58                 <div class="row">
     59                     <div class="col-lg-2">
     60                         <input type="text" name="_q" value="{% get_search_key request %}">
     61                     </div>
     62                     <div class="col-lg-2">
     63                         <input type="submit" class="btn btn-success" value="搜索">
     64                     </div>
     65 
     66                     <div style='color: red'>  搜索条件包含:
     67                         {% for search_field in admin_obj.search_fields %}
     68                             {{ search_field }}
     69                             +
     70                         {% endfor %}
     71                     </div>
     72                 </div>
     73                 {## ————————18PerfectCRM实现King_admin搜索关键字————————#}
     74 
     75 
     76             </form>
     77         </div>
     78     {% endif %}
     79     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
     80 
     81     
     82 
     83 
     84     <table class="table table-hover">
     85           <thead>
     86             <tr>
     87 
     88              {## ————————17PerfectCRM实现King_admin单列排序————————#}
     89             {#循环调用kingadmin/base_admin里的class BaseAdmin下的list_display = () 方法#}
     90 {#                {% for column in admin_obj.list_display %}#}
     91 {#                    <th>{{ column }}</th>#}
     92 {#                {% endfor %}#}
     93 {#            #}
     94                 {% for column in admin_obj.list_display %}
     95 {#                    <th>{{ column }}</th>#}  {#过滤功能1#}
     96                     {#排序功能1#}
     97                     <th>
     98 {#                        <a href="?_o={{ column }}">{{ column }}</a>#}  {#http://127.0.0.1:8000/kingadmin/crm/customer/?_o=qq#}
     99                                        {## kingadmin排序功能#}
    100 {#                        <a href="?_o={% get_orderby_key request column %}">{{ column }}</a>#}
    101 
    102                                            {## kingadmin排序功能#}                       {# 过滤后排序功能 #}
    103                         <a href="?_o={% get_orderby_key request  column %}{%  generate_filter_url admin_obj %}">{{ column }}</a>
    104 
    105                                 {#显示排序图标#}
    106                         {% display_order_by_icon request column %}
    107 
    108                      </th>
    109                     {#排序功能1#}
    110                 {% endfor %}
    111                 {## ————————17PerfectCRM实现King_admin单列排序————————#}
    112 
    113 
    114             </tr>
    115           </thead>
    116 
    117         {## ————————09PerfectCRM实现King_admin显示注册表的内容————————#}
    118           <tbody>
    119             {#循环调用kingadmin/views 里的def table_data_list下的admin_obj.querysets #}
    120             {% for obj in admin_obj.querysets %}
    121                 <tr>
    122                     {#通过kingadmin_tags在后台处理 再传到前端 #}
    123                     {#调用kingadmin/templateags/kingadmin_tags 里的def build_table_row(admin_obj,obj):#}
    124 
    125                     {## ————————19PerfectCRM实现King_admin数据修改————————#}
    126                     {% build_table_row  admin_obj obj  %}{# kingadmin动态生成model编辑 #}
    127                     {## ————————19PerfectCRM实现King_admin数据修改————————#}
    128 
    129                 </tr>
    130             {% endfor %}
    131           </tbody>
    132         {## ————————09PerfectCRM实现King_admin显示注册表的内容————————#}
    133 
    134     </table>
    135 
    136     {## ————————12PerfectCRM实现King_admin分页上下页————————#}
    137 {#    <div class="row">#}
    138 {#        <div class="pagination">#}
    139 {#            <span class="step-links">#}
    140 {#                {% if admin_obj.querysets.has_previous  %}#}
    141 {##}
    142                     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
    143 {#                     <a href="?page={{ admin_obj.querysets.previous_page_number }}#}
    144 {#                   <a href="?page={{ admin_obj.querysets.previous_page_number }}{%  generate_filter_url admin_obj %}">上一页 </a>#}
    145                      {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
    146 {##}
    147 {#                {% endif %}#}
    148 {##}
    149 {#                <span class="current">#}
    150 {#                    第{{ admin_obj.querysets.number }}页,共{{ admin_obj.querysets.paginator.num_pages }}页#}
    151 {#                </span>#}
    152 {##}
    153 {#                {% if admin_obj.querysets.has_next %}#}
    154 {##}
    155                     {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
    156 {#                    <a href="?page={{ admin_obj.querysets.next_page_number }}#}
    157 {#                    <a href="?page={{ admin_obj.querysets.next_page_number }}{%  generate_filter_url admin_obj %}">下一页</a>#}
    158                        {## ————————15PerfectCRM实现King_admin多条件过滤————————#}
    159 {##}
    160 {#                {% endif %}#}
    161 {#            </span>#}
    162 {#        </div>#}
    163 {#    </div>#}
    164     {## ————————12PerfectCRM实现King_admin分页上下页————————#}
    165 
    166 {## ————————13PerfectCRM实现King_admin分页页数————————#}
    167 {#    <nav aria-label="...">#}
    168 {#      <ul class="pagination">#}
    169 {#        <li class="disabled"></li>#}
    170 {#          {% for  page in admin_obj.querysets.paginator.page_range  %}  {#循环 分页 范围#}
    171 {##}
    172 {#              {% if page == admin_obj.querysets.number  %} {#当前页高亮,否则不加高亮#}
    173 {#                  <li class="active">#}
    174 {#              {% else %}#}
    175 {#                   <li >#}
    176 {#              {% endif %}#}
    177 {##}
    178                                         {#后台拼接返回,kingadmin/templatetags/kingadmin_tags.py 里def generate_filter_url(admin_obj):#}
    179 {#              <a href="?page={{ page }}{%  generate_filter_url admin_obj %}">{{ page }}</a>#}
    180 {#              </li>#}
    181 {#          {% endfor %}#}
    182 {#      </ul>#}
    183 {#    </nav>#}
    184 {## ————————13PerfectCRM实现King_admin分页页数————————#}
    185 
    186 {## ————————14PerfectCRM实现King_admin分页的省略显示————————#}
    187     <div class="row panel-body">
    188         <nav aria-label="...">
    189             <ul class="pagination">
    190                 <!--如果有上一页-->
    191                 {% if admin_obj.querysets.has_previous %}
    192                      {## ————————18PerfectCRM实现King_admin搜索关键字————————#}
    193                     {## ————————17PerfectCRM实现King_admin单列排序————————#}
    194 {#                    <li><a href="?page={{ admin_obj.querysets.previous_page_number }}{% generate_filter_url admin_obj %}"#}
    195 {#                           aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>#}
    196 
    197                             {#获取上一个数字#}                         {# kingadmin排序功能 # 过滤后排序功能#排序#}           {#分页#}
    198 {#<li><a href="?page={{ admin_obj.querysets.previous_page_number }}{% generate_order_by_url request  %}{% generate_filter_url admin_obj %}"#}
    199 {#       aria-label="Previous"><span aria-hidden="true">上页</span></a></li>#}
    200                      {## ————————17PerfectCRM实现King_admin单列排序————————#}
    201                     <li><a href="?page={{ admin_obj.querysets.previous_page_number }}
    202 {% generate_order_by_url request  %}{% generate_filter_url admin_obj %}&_q={% get_search_key request %}"
    203                            aria-label="Previous"><span aria-hidden="true">上页</span></a></li>
    204                      {## ————————18PerfectCRM实现King_admin搜索关键字————————#}
    205                 {% else %}
    206                     <li class="disabled">
    207                         <a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
    208                 {% endif %}
    209                 <!--#分页的省略显示  kingadmin/templatetags/kingadmin_tags.py里def pag_omit(request,admin_obj):-->
    210                 {% pag_omit request admin_obj %}
    211                 <!--如果有下一页-->
    212                 {% if admin_obj.querysets.has_next %}
    213                  {## ————————18PerfectCRM实现King_admin搜索关键字————————#}
    214                  {## ————————17PerfectCRM实现King_admin单列排序————————#}
    215 {#                    <li><a href="?page={{ admin_obj.querysets.next_page_number }}{% generate_filter_url admin_obj %}"#}
    216 {#                           aria-label="Previous"><span aria-hidden="true">&raquo;</span></a></li>#}
    217 
    218 {#<li><a href="?page={{ admin_obj.querysets.next_page_number }}{% generate_order_by_url request  %}{% generate_filter_url admin_obj %}"#}
    219 {#       aria-label="Previous"><span aria-hidden="true">下页</span></a></li>#}
    220                  {## ————————17PerfectCRM实现King_admin单列排序————————#}
    221                     <li><a href="?page={{ admin_obj.querysets.next_page_number }}
    222 {% generate_order_by_url request  %}{% generate_filter_url admin_obj %}&_q={% get_search_key request %}"
    223                            aria-label="Previous"><span aria-hidden="true">下页</span></a></li>
    224                 {## ————————18PerfectCRM实现King_admin搜索关键字————————#}
    225 
    226                 {% else %}
    227                     <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&raquo;</span></a>
    228                     </li>
    229                 {% endif %}
    230             </ul>
    231         </nav>
    232     </div>
    233 {## ————————14PerfectCRM实现King_admin分页的省略显示————————#}
    234 
    235 
    236 {% endblock %}
    237 {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#}
    {#table_data_list.html#}

  • 相关阅读:
    83. Remove Duplicates from Sorted List
    35. Search Insert Position
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    111. Minimum Depth of Binary Tree
    169. Majority Element
    171. Excel Sheet Column Number
    190. Reverse Bits
  • 原文地址:https://www.cnblogs.com/ujq3/p/8675485.html
Copyright © 2011-2022 走看看