Django m'échappe mes regex ?!

Le problème exposé dans ce sujet a été résolu.

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 !

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.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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