Django错误: got an unexpected keyword argument 'int'(urls.py中re_path的使用)

介绍:

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模版T。

错误截图:

错误原因: 

由于我在urls.py使用re_path正则匹配数字的方式,后台search.py不能接受到变量值!

匹配变量:

  • 字符串:(?P<prm>\w+)
  • 数字:(?P<int>\d+)
  • 类型、个数匹配:(?P<p>[0-9]{4}) //4个0-9的数字

urls.py

search.py(错误的写法)

问题解决:

 search.py(正确的写法)

总结: 

由于使用了正则匹配数字在URL上,所以后台对应函数必须接收参数,而**kwargs可以当作容纳多个key和value的dictionary,类似接收数据的参数还有*args。

那么*args和**kwargs区别?

print '======================================'
def func(*args,**kwargs):
    print 'args=',args
    print 'kwargs=',kwargs
    print '======================================'
 
func(1,2,3)
func(a=1,b=2,c=3)
func(1,2,3,a=1,b=2,c=3)
func(1,'b','c',a=1,b='b',c='c')

猜你喜欢

转载自blog.csdn.net/m0_43432638/article/details/90414214
今日推荐