zoukankan      html  css  js  c++  java
  • CRM 项目思路解析笔记

    urls.py:

    from django.conf.urls import url,include
    from django.contrib import admin
    from LuffyCRM import views
    urlpatterns = [
    url(r'^admin/', admin.site.urls), #管理员后台登录url
    url(r'^$', views.index),
    url(r'^crm/',include("crm.urls") ),
    url(r'^luffyadmin/',include("luffyAdmin.urls") ),#CRM表后台处理界面
    url(r'^account/login/$', views.account_login), #账户登录url--->登录成功后,跳转到index界面 http://127.0.0.1:8000/
    url(r'^account/logout/$', views.account_logout,name="logout"),#账户登出url
    ]

    1. ^admin/
    2. ^$
    3. ^crm/ ^customer_list/$ [name='customer_list']
    4. ^luffyadmin/
    5. ^account/login/$
    6. ^account/logout/$ [name='logout'

    http://127.0.0.1:8000/luffyadmin/   ---> luffyAdmin.urls

    ----->

    from django.conf.urls import url,include

    from luffyAdmin import views
    urlpatterns = [

    url(r'^$', views.app_index),# luffyAdmin后台登录主界面
    url(r'(w+)/(w+)/$', views.model_table_list,name="model_table_list"),#luffyAdmin动态匹配表处理url

    ]

    luffyadmin/views.py:
    def model_table_list(request, app_name, model_name):

      if app_name in site.registered_admins:   #registered_admins 负责把每个App下的表注册self.registered_admins集合里,
    #注册的admin list: {'crm': {'customer': <class 'crm.luffy_admin.CustomerAdmin'>, 'course': <class 'crm.luffy_admin.CourseAdmin'>, 'classlist': <class 'luffyAdmin.admin_base.BaseAdmin'>}, 'teacher': {'teachertest':
    <class 'luffyAdmin.admin_base.BaseAdmin'>}} ‘app_name’:{model_name}


    if model_name in site.registered_admins[app_name]:
    admin_class = site.registered_admins[app_name][model_name]
    #print("--model class",model_class,locals())
    querysets,filter_conditions = get_filter_objs(request,admin_class) #get_filter_objs返回filter的结果queryset

    paginator = Paginator(querysets, admin_class.list_per_page) # Show 25 contacts per page
    page = request.GET.get('_page')
    try:
    querysets = paginator.page(page)
    except PageNotAnInteger:
    # If page is not an integer, deliver first page.
    querysets = paginator.page(1)
    except EmptyPage:
    # If page is out of range (e.g. 9999), deliver last page of results.
    querysets = paginator.page(paginator.num_pages)

    return render(request,"luffyadmin/model_table_list.html",locals())



     
  • 相关阅读:
    一些特殊的矩阵快速幂 hdu5950 hdu3369 hdu 3483
    HDU
    UVA-796 Critical Links 找桥
    HDU 4612 Warm up
    2017 ICPC乌鲁木齐 A Coins 概率dp
    HDU6223 Infinite Fraction Path bfs+剪枝
    Java基础知识学习(一)
    算法(一)
    面试题整理:SQL(二)
    面试题整理:SQL(一)
  • 原文地址:https://www.cnblogs.com/Jeb15/p/7205395.html
Copyright © 2011-2022 走看看