当用户点击make thumbnail
按钮时,它会在视图中调用def thumb
然后渲染到http://127.0.0.1:8000/upload/thumb
我想更改为重定向到数据库中的id number
(Item.objects.all())的网址,如:
http://127.0.0.1:8000/upload/thumb/123
但是没有得到它。 请帮帮我。非常感谢你。
我的代码:
urls.py
urlpatterns = patterns('',
url(r'^$', views.background, name='background'),
url(r'^thumb/(?P<result>\d+)$', views.thumb, name='thumb'),
views.py
def thumb(request,result):
if request.method=="POST":
photoid = request.POST['photoid']
photowidth = request.POST['photowidth']
item=Item.objects.filter(id=photoid)
return redirect(reverse('imageupload:thumb',kwargs={'result':photoid,'item':item }))
return HttpResponseRedirect(reverse('imageupload:background'))
模板:
<form action="{% url 'imageupload:thumb' i.id %}" method="POST" id="create_post">
答案 0 :(得分:3)
使用命名参数时,您需要这样做:
return redirect(reverse('imageupload:thumb',kwargs={'result':item}))
在您的forms.py
中,您还需要将action
修改为:
action="{% url 'imageupload:thumb' result %}"
您还可以result
访问views.py
中的def thumb(request, result):
print result
:
{{1}}