在我的观点中,我正在重定向为:
return redirect('camera_login', success='False' )
在我的urls.py中:
url(r'^', CameraLoginView.as_view(),
name = "camera_login"),
url(r'^(?P<success>[a-zA-Z0-9-]+)/$', CameraLoginView.as_view(),
name = "camera_login"),
现在我可以看到我的浏览器中的网址被重定向到localhost:8000/False
,并且呈现了camera_login.html
页面,但是当我调试代码时,我的**kwargs
始终没有。
class CameraLoginView(View):
def get(self, request, *args, **kwargs):
print('kwargs' , self.kwargs)
success = None
print('args ', args)
return render( request,
'camera_login.html', {'success': success})
终端kwargs {}
中的,kwargs总是空的?我不知道我哪里错了。感谢。
答案 0 :(得分:3)
您的第一个模式匹配所有内容,因此永远不会达到您的第二个模式。由于第一个模式没有捕获组,因此不会捕获任何kwargs。
您应该确保始终终止您的模式:
url(r'^$', CameraLoginView.as_view(), name = "camera_login"),
url(r'^(?P<success>[a-zA-Z0-9-]+)/$', ...)