2022-3-23:
- error:post() got an unexpected keyword argument ‘id’
错误:
说是post请求得到了一个意外参数,找了半天原因,
一直在视图中找不到原因,结果错误原因是在子路由中找到的:
# 错误
urlpatterns=[
path('<str:username>/address/<id>',views.AddressView.as_view()),
path("<str:username>/address/default", views.DefaultAddressView.as_view()),
]
上一行的’<str:username>/address/<id>‘中的<id>由于没有声明数据类型,致使与下一行的’<str:username>/address/default’中的default相混,导致id=default一直被作为字符串上传上一个链接。
解决:将<id>改为<int:id>即可将两条路由区分开
# 修改
urlpatterns=[
path('<str:username>/address/<int:id>',views.AddressView.as_view()),
path("<str:username>/address/default", views.DefaultAddressView.as_view()),
]