[Django]-Django url pattern for %20

26👍

I was able to make it work using the configuration given below. Check if it will suit your needs.

(?P<name>[\w|\W]+)

22👍

If you only want to allow space:

(?P<name>[\w\ ]+)
👤chall

2👍

The best way to do that and allow others chars is using ‘\s’ that is any spaces, tabs and new lines

(?P<name>[\w\s]+)
👤elin3t

2👍

I am using Django 2.2.

It handles the %20 (which means space) in url using Path converter: str

You simply need to use:

<name> or <str:name>

For example, following example loads view "some_view" defined in view.py

#urls.py
from django.urls import path
from . import views
urlpatterns = [
   path("<name>",views.some_view),
   ....
]

The following function renders "some.html" after processing. In this example sending the received name to "some.html".

#view.py
def some_view(request, name):
    # process here
    context = { "name" : name }
    return render(request,"some.html",context)

Leave a comment