Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 向视图传递*args和**kwargs的正确方法是什么?_Django - Fatal编程技术网

Django 向视图传递*args和**kwargs的正确方法是什么?

Django 向视图传递*args和**kwargs的正确方法是什么?,django,Django,获取错误在调用reverse()时不要混合使用*args和**kwargs尝试将args和kwargs传递给视图时。在这一点上,我已经尝试了很多东西,但我的头脑无法摆脱这个问题——完全被困在如何将两者都传递给一个视图上 我需要将unipart和newfile传递到另一个视图 url(r'^(\d+)/(\d+)/convert/$', 'store.views.changetool', name = "convert"), url(r'^(\d+)/view_part/$','store.vie

获取错误
在调用reverse()时不要混合使用*args和**kwargs尝试将args和kwargs传递给视图时。在这一点上,我已经尝试了很多东西,但我的头脑无法摆脱这个问题——完全被困在如何将两者都传递给一个视图上

我需要将
unipart
newfile
传递到另一个视图

url(r'^(\d+)/(\d+)/convert/$', 'store.views.changetool', name = "convert"),
url(r'^(\d+)/view_part/$','store.views.view_part',name="view_part"),
VIEWS.PY(changetool)

VIEWS.PY(视图\零件)


您必须具有这些导入:

from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
您的
return
语句应该是:

return HttpResponseRedirect(
    reverse('path.to.function.view_part', args=(unipart, newfile))
)

相关文档。

谢谢,但在这种情况下,我得到了错误
NoReverseMatch
带参数的'store.views.view_part'(u'54',u'file1.txt')和关键字参数'{}'的反转。
尝试:
反转('path.to.function.view_part',kwargs={'unipart unipart unipart'newfile':newfile))
@karthikr仍然收到相同的消息…我也做了
'part\u id':unipart
@Ngenator我想你看到的正则表达式是错误的-我传递给的是第二个带有
view\u part的正则表达式-它需要一个数字,我还想传递一个字符串作为kwarg。@user1328021你的参数与URL不匹配:you'p将
file1.txt
作为第二个参数,但URLconf有
\d+
因此只需要数字。尝试
重定向('view_part',unipart,newfile)
它告诉您错误中的问题,使用args或kwargs,而不是两者都使用。(
重定向
包括对
reverse
的自动调用)
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
return HttpResponseRedirect(
    reverse('path.to.function.view_part', args=(unipart, newfile))
)