django中的URL参数

时间:2015-05-22 04:36:34

标签: python django

我有这段代码:

return redirect('shops:edit_shop', details['bio'])

基本上它会重定向到edit_shop视图,其中一个url参数bio的值为测试Instagram API

这是我的观点:

def edit_shop_page(request, bio):
print bio
return render(request, 'shops/profile/edit_form.html')

令我惊讶的是,print bio部分只打印第一个单词,即测试一词。

简而言之,我发送的参数值为测试Instagram API ,只接收测试

为什么会这样?我该如何解决这个问题?

urls.py的相关部分:

url(r'^edit-shop/(?P<bio>[\w_.]+)', edit_shop_page, name='edit_shop'),

1 个答案:

答案 0 :(得分:2)

url(r'^edit-shop/(?P<bio>[\w_.]+)', edit_shop_page, name='edit_shop'),

你的正则表达式会破坏第一个空格后的单词,也可以尝试允许空格,例如

url(r'^edit-shop/(?P<bio>[\w ]+)', edit_shop_page, name='edit_shop'),