Django Form源码分析(1) (TextInput)
自定义视图函数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 = {...}
)