kwargs
基于类的views里面有很多方法都包含有**kwargs参数,
刚开始不明白kwargs参数里面存储的那些数据。
经过总结得出以下结论
如果使用form的get方法传参数的话,kwargs里面不会存储form字段的参数,参数是通过request.GET传到方法里面的。
<form action="" method="get">
<input type="text" name="id">
</form>
在基于类的view里面
get_context_data(self,**kwargs):
print("request.GET ==",self.request.GET)
print("kwargs == ",kwargs)
print("self.kwargs == ",self.kwargs)
return super().get_context_data(**kwargs)
输出结果:
request.GET == {‘id’,xx}
kwargs == {}
self.kwargs == {}
可见参数不会存放在kwargs里面。
如果通过超链接传参数
path('index/<id>',views.xxx,name="xxx")
输出结果应该是下面这样的
request.GET == {‘id’,xx}
kwargs == {}
self.kwargs == {‘id’,xx}