为 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