Django Form源码分析(1) (TextInput)

发布时间 2023-07-29 15:50:37作者: khalil12138

 自定义视图函数test

widget = forms.TextInput(attrs={'class': "form-control"})

运行步骤

1. 初始化封装

 设置默认值

 封装结束

# widge.input_type = "text"
# widge.template_name = "django/forms/widgets/text.html"
# widge.attrs = attrs

 返回的字典就是用来给template做渲染

 

widge.template_name = "django/forms/widgets/text.html"
context = {...}
renderer = get_default_renderer() =import_str("django.forms.renderers.DjangoTemplates") =
from django.forms.renderers import DjangoTemplates
再把DjangoTemplates实例化
_render返回的就是DjangoTemplates.render(
"django/forms/widgets/text.html", context = {...}
)