使用django 1.7和python 2.7,在我的视图中:
page = 0
sex = [u'\u0632\u0646'] #sex = زن
url = "/result/%s/%d" % (sex, page)
return HttpResponseRedirect(url)
哪些需要返回:
/result/زن/0
但是生成的网址结果是:
/result/[u'\u0632\u0646']/0
这不是模式中的设想:
`url(r'^result/(?P<sex>\w+)/(?P<page>\d+)','userprofile.views.profile_search_result')`,
我也试过
return HttpResponseRedirect( iri_to_uri(url))
但没有解决问题。
我真的很困惑,感谢你帮忙解决这个问题。
答案 0 :(得分:1)
url
也应该是一个unicode字符串,以便它起作用:
page = 0
sex = u'\u0632\u0646' #sex=زن
url = u"/result/%s/%d" % (sex, page)
return HttpResponseRedirect(url)
答案 1 :(得分:1)
由于性是一个列表,你只需要使用你想要的实际元素:
url = "/result/%s/%d" % (sex[0], page)
虽然注意要在Django中构建URL,但您应该使用reverse
函数:
from django.core.urlresolvers import reverse
...
url = reverse('userprofile.views.profile_search_result', kwargs={'sex': sex[0], 'page': page})