When I want use argument with specials characters in reverse, I have this error :
Reverse for 'l_s.views.my_pro' with arguments '()' and keyword arguments '{'namep': u'\xe9 \xe9 \xe9 sds ( \xe9zacd '}' not found. 1 pattern(s) tried: ['(?P\w+)$']
My View :
def createPro(request):
...
if form.is_valid() :
name = form.cleaned_data["name"]
return redirect(reverse(my_pro, kwargs={'namep': name}))
def my_pro(request,namep):
pro = Pro.objects.get(name=namep)
...
My Template :
...
<form method="POST" action="{% url 'createPro' %}" class="form-signin">
{% csrf_token %}
<div class="row">
<div class="col-md-offset-3 col-md-3">
{{ form.name|bootstrap }}
</div>
...
My URL :
url(r'^create-pro$', 'createPro', name='createPro'),
url(r'^(?P<namep>\w+)$','my_pro', name="mypro"),
I have this error when the variable "name" in method "createPro" contains special character. For this example, name = "é é é sds ( ézacd "