在django模板标签中将int转换为str

时间:2010-11-07 21:39:50

标签: django

我必须在模板中使用int值作为str。这是代码

<a href="{% url staticPageEdit id=item.id%}">{{ item.id}}</a>

但是当我运行渲染模板时,我得到了TemplateSyntaxError 错误描述是:渲染时捕获NoReverseMatch:反向'staticPageEdit',参数'()'和关键字参数'{'id':1L}'未找到。 我的问题是item.id是一个数字值。但我的staticPageEdit页面需要一个字符串。这是这个网址的de urls.py行

url(r'^staticPage/Edit/$',views.staticPageEdit,{'id':'-1'},name='staticPageEdit'),
url(r'^staticPage/Edit/(?P<id>/d+)/$',views.staticPageEdit,name='staticPageEdit'),

我想知道如何发送字符串值而不是数字。那可能吗?

2 个答案:

答案 0 :(得分:2)

使用stringformat过滤器。 代码就是这样的

<a href="{% url staticPageEdit id=item.id|stringformat:"i"%}">{{ item.id}}</a>

答案 1 :(得分:0)

我认为这个正则表达式:

r'^staticPage/Edit/(?P<id>/d+)/$' 

应该是

r'^staticPage/Edit/(?P<id>\d+)/$'