Django项目:CRM(客户关系管理系统)--15--07PerfectCRM实现King_admin显示注册的表01
<th ><a href="/kingadmin/{% get_app_name admin_class.model %}/{% get_model_name admin_class.model %}/">
{% get_model_verbose_name admin_class.model %}</a> </th>
1 {#app_index.html#} 2 {## ————————02PerfectCRM创建ADMIN页面————————#} 3 {% extends 'king_master/king_index.html' %} 4 {## ————————02PerfectCRM创建ADMIN页面————————#} 5 6 {## ————————06PerfectCRM实现King_admin注册功能获取内存优化处理————————#} 7 {% load kingadmin_tags %} 8 {## ————————06PerfectCRM实现King_admin注册功能获取内存优化处理————————#} 9 10 {## ————————05PerfectCRM实现King_admin注册功能获取内存————————#} 11 {% block right-container-content %} 12 13 {#从base_admin传到views,views返回的值items()方法把字典转换成列表#} 14 {% for app,app_tables in site.registered_sites.items %} 15 16 <table class="table table-hover"> 17 <thead> 18 <tr> 19 <h3>{{ app }}</h3>{#循环APP名字#} 20 </tr> 21 </thead> 22 23 <tbody> 24 {#上层循环的变量值,items()方法把字典转换成列表#} 25 {% for model_name,admin_class in app_tables.items %} 26 <tr> 27 {## ————————05PerfectCRM实现King_admin注册功能获取内存————————#} 28 {# <th >{{ model_name }}{{ admin_class }} </th>#} 29 {# <th >{{ admin_class.mode }}{{ admin_class }} </th>#} 30 {## ————————05PerfectCRM实现King_admin注册功能获取内存————————#} 31 32 {## ————————06PerfectCRM实现King_admin注册功能获取内存优化处理————————#} 33 {# <th >{% get_app_name admin_class.model %}{{ admin_class }} </th>#} 34 {## ————————06PerfectCRM实现King_admin注册功能获取内存优化处理————————#} 35 36 {# # ————————07PerfectCRM实现King_admin显示注册的表————————#} 37 <th ><a href="/kingadmin/{% get_app_name admin_class.model %}/{% get_model_name admin_class.model %}/"> 38 {% get_model_verbose_name admin_class.model %}</a> </th> 39 {# # ————————07PerfectCRM实现King_admin显示注册的表————————#} 40 41 </tr> 42 {% endfor %} 43 </tbody> 44 </table> 45 {% endfor %} 46 47 {% endblock %} 48 49 50 {## ————————05PerfectCRM实现King_admin注册功能获取内存————————#}
1 #kingadmin_tags.py 2 3 # ————————06PerfectCRM实现King_admin注册功能获取内存优化处理———————— 4 5 # # 因为前端禁止使用下划线开头(_meta.verbose_name ),所以通过后端处理后返回前端。 6 # from django import template #模板 7 # register = template.Library() #模板库 8 # 9 # @register.simple_tag #Django中利用filter与simple_tag为前端自定义函数的实现方法 10 # def get_app_name(model_obj): 11 # 12 # # ————————06PerfectCRM实现King_admin注册功能获取内存优化处理———————— 13 # # return model_obj._meta.verbose_name_plural 14 # ''' 15 # #判断 数据库 里如果有 verbose_name 或者 verbose_name_plural 就 调用 如果都没有 就使用默认的(英文) 16 # class Meta: 17 # verbose_name = "04客户信息表" #在 Django Admin 里 表名显示中文 但是会加s 18 # verbose_name_plural = "04客户信息表" #在 Django Admin 里 表名显示中文 不会加s 19 # ''' 20 # model_name = model_obj._meta.verbose_name_plural if model_obj._meta.verbose_name else model_obj._meta.verbose_name_plural 21 # if not model_name: 22 # model_name = model_obj._meta.model_name 23 # 24 # return model_name 25 # ————————06PerfectCRM实现King_admin注册功能获取内存优化处理———————— 26 27 # ————————06PerfectCRM实现King_admin注册功能获取内存优化处理———————— 28 29 # ————————07PerfectCRM实现King_admin显示注册的表———————— 30 #因为前端禁止使用下划线开头(_meta.verbose_name ),所以通过后端处理后返回前端。 31 from django import template #模板 32 register = template.Library() #模板库 33 34 @register.simple_tag #Django中利用filter与simple_tag为前端自定义函数的实现方法 35 def get_model_verbose_name(model_obj): 36 ''' 37 #判断 数据库 里如果有 verbose_name 或者 verbose_name_plural 就 调用 如果都没有 就使用默认的(英文) 38 class Meta: 39 verbose_name = "04客户信息表" #在 Django Admin 里 表名显示中文 但是会加s 40 verbose_name_plural = "04客户信息表" #在 Django Admin 里 表名显示中文 不会加s 41 ''' 42 model_name = model_obj._meta.verbose_name_plural if model_obj._meta.verbose_name else model_obj._meta.verbose_name_plural 43 if not model_name: 44 model_name = model_obj._meta.model_name 45 return model_name 46 47 @register.simple_tag 48 def get_model_name(model_obj): 49 return model_obj._meta.model_name 50 @register.simple_tag 51 def get_app_name(model_obj): 52 return model_obj._meta.app_label 53 # ————————07PerfectCRM实现King_admin显示注册的表————————
您的资助是我最大的动力!
金额随意,欢迎来赏!
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【颜言】!