您的位置:首页 > 编程语言 > Go语言

Django Url编码问题

2016-03-25 14:42 513 查看

Django Url编码问题

  最近在学习Django,写一个blog程序练练手手。对于一个才开始接触web开发的来说,难免会遇到一些问题。

  有一个这样的模板:

{%for k,v in categories.items%}
<li class="list-group-item ">
<span class="badge">{{v}}</span>
<a href="{% url 'category_by' word=k %}">{{k}}</a>
</li>
{%endfor%}

  url.py 如下:

urlpatterns = patterns('',
url(r'^category/(?P<word>\w+)', 'article.views.category', name = 'category_by'),

)

  可以将文章类别传入category_by来返回这一类别的所有文章。我有一个word为C#,模板生成后编码为C%23.当点击这个链接的时候链接为category/C%23。但是我在视图函数并没有得到C%23。

  开始以为是urlencode问题,于是在视图函数加了这一句代码.

word = urllib.unquote(word)

  但是发现问题依然没有解决.print打印word发现还是C,这时候想到可能是正则传入的参数有问题.于是写了个正则测试了下,果然是这个问题.这样就能获取C%23这个参数.而且,在视图函数中不需要在进行解码,Django已经帮我们做好了.

urlpatterns = patterns('',
url(r'^category/(?P<word>\w+\W?)', 'article.views.category', name = 'category_by'),

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: