【发布时间】:2018-03-22 15:12:45
【问题描述】:
我正在尝试在成功视图中访问通过 HttpResponseRedirect() 传递的 kwargs。密钥存在于 kwarg 字典中,但值不存在。这是为什么呢?
观看次数:
class UploadView(View):
paneluploadform = PanelUploadForm
def get(self, request, *args, **kwargs):
paneluploadform = self.paneluploadform()
context = {'paneluploadform': paneluploadform}
return render(request, 'results/upload.html', context)
def post(self, request, *args, **kwargs):
paneluploadform = self.paneluploadform(request.POST, request.FILES)
if paneluploadform.is_valid():
panel_name = paneluploadform.upload()
return HttpResponseRedirect(
reverse('results:success',
kwargs={'panel_name': panel_name})
)
context = {'paneluploadform': paneluploadform}
return render(request, 'results/upload.html', context)
def success(request, *args, **kwargs):
return render(request, 'results/success.html')
urls.py:
urlpatterns = [
url(r'^upload/$', UploadView.as_view(), name='upload'),
url(r'^upload/successful-(?P<panel_name>)', success, name='success')
]
在我的success.py 视图中,当我print(kwargs) 时,输出为{'panel_name': ''}
但我的网址是 /localhost/upload/successful-panelnameientered
为什么不kwargs ={'panel_name': 'panelnameientered'}?
【问题讨论】:
标签: python django python-3.x url httpresponse