In Django what is the url pattern I need to use to handle urlencode characters such as %20
I am using (?P
but this only handles alpha
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)
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]+)
If you only want to allow space:
(?P<name>[\w\ ]+)
I was able to make it work using the configuration given below. Check if it will suit your needs.
(?P<name>[\w|\W]+)