Django 自定义 admin

为 model 自定义显示

 label是这个Field如果在form中的话会显示的、而verbose_name在form中不会显示、只是作为一种说明而已

callable()   -->  是否可以被调用,来判断是否是函数

   - 也可以通过  

from types import FunctionType
isinstance(item, FunctionType)
来解决

取函数名 __name__

 from django.utils.safestring import mark_safe

告诉浏览器,代码安全,刻意渲染

templatetags


from django.template.library import Library

register = Library()

@register.simple_tag
def show_result_list():
pass

{% load result_list %}


@register.inclusion_tag('模板路径')
def show_result_list():
return 数值 --> 发送给模板,然后模板在渲染后返回

参数通过类的方式传入调用

self.model_class._meta.app_label                          通过 表的类,来调用它的 app 名字
self.model_class._meta.model_name                          通过 表的类,来调用它的 表 名字
self.model_class._meta.get_field                     通过 表的类,来调用它的字段
self.model_class._meta.get_field(字段名).verbose_name                这个是上面的例子,字段实际上就是一个对象是吧 CharField(。。。)

反向生成 url

使用模块

from django.urls import reverse

  

后端使用

正常 url

 非命名正则使用取值

 

正则命名使用取值

 模板中使用反向生成url

在模拟admin中的时候,因为使用了namespace,所以需要加上namespace

 

 如果有多层namespace的话

原文地址:https://www.cnblogs.com/alwaysInMe/p/7694744.html