2010-11-07 4 views
0

Je dois utiliser une valeur int comme str dans un modèle. Voici le codeconvertir int en str dans les balises de modèle django

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

Mais quand je lance rendre le modèle que je suis TemplateSyntaxError Description de l'erreur est: Caught NoReverseMatch tout en rendant: inverse pour « staticPageEdit » avec des arguments «() » et arguments mot-clé « { » id ': 1L}' introuvable. Mon problème ici est que item.id est une valeur numérique. mais ma page staticPageEdit attend une chaîne. voici de lignes urls.py pour cette url

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

Je veux envoyer certains comment une valeur de chaîne au lieu d'un nombre. est-ce possible?

+1

Ne doit pas être regex '(? P \ d +)'? – bernie

+0

OK qui a résolu mon problème :) merci – yilmazhuseyin

Répondre

0

Je pense que cette regex:

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

devrait être

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

Utiliser un filtre StringFormat. Le code serait quelque chose comme ça

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