Django m'échappe mes regex ?!

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

Je ne comprend pas l'erreur que me renvoie Django que voici :

1
Reverse for 'url_redirection' with arguments '('ERROR',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['m/(?P<code>\\w{6})/$']

Pour l'argument avec ERROR je vais regarder pourquoi après mais déjà j'aimerais comprendre pourquoi Django m'échappe mon \w dans ma regex ?! Du coup, forcément qu'elle ne sera pas valide…

Voici mon urls.py :

1
2
3
4
5
6
7
8
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^show/$', views.show),
    url(r'^add/$', views.add),
    url(r'^(?P<code>\w{6})/$', views.redirect_to, name='url_redirection'),
]

Merci de votre aide !

Mon projet : OpenPlane, un utilitaire en Java pour les pilotes, les vrais !

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

Pour l'argument avec ERROR je vais regarder pourquoi après mais déjà j'aimerais comprendre pourquoi Django m'échappe mon \w dans ma regex ?! Du coup, forcément qu'elle ne sera pas valide…

en fait django ne fait rien et c'est normal que tu aies ça c'est même souhaitable. C'est à cause du marqueur r'', il te permet de mettre le \ seul pour que ta regex soit simple à comprendre. Sinon il chercherait un caractère spécial qui s'appellerait \w comme il existe \n.

Ensuite, tu demandes un mot de 6 lettres, et error n'en possède que 5 donc forcément ça marche pas.

Édité par artragis

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte