Нежелательные пробельные символы в урлах Django

У меня есть нежелательные пробелы в шаблоне url, и я думаю, что это создает проблемы, когда я пытаюсь установить рукопожатие между моим Flutter приложением и моим Django бэкэндом. Я знаю, что на подобные вопросы уже отвечали, но я не смог найти, откуда это берется и как это исправить. Вот мои шаблоны URL, и когда я пытаюсь установить связь с WebSocket, я получаю следующую ошибку в Django терминале:

Not Found: /ws/chat_app/sjfAmH
"GET /ws/chat_app/sjfAmH HTTP/1.1" 404 4349

Вот мои шаблоны URL URL_patterns

У меня есть приложение Django под названием chat_app, где я определил свой класс потребителя WebSocket. Затем я добавил маршрутизацию, указывающую на этот класс потребителя в моем routing.py файле:

from django.urls import re_path
from .consumers import ChatConsumer

# The WebSocket URL pattern for chat rooms is defined by this code
websocket_urlpatterns = [
    re_path(r'chat_app/(?P<unique_id>\w+)/$', ChatConsumer.as_asgi()),
]

Кроме того, я добавил chat_app в settings.py установленные приложения и определил URL путь в моем Django проекте urls.py:

from django.contrib import admin
from django.urls import include, path
from chat_app.routing import websocket_urlpatterns


urlpatterns = [
    path('admin/', admin.site.urls),
    ...,
    path('ws/', include(websocket_urlpatterns)),
]

Пробельные символы не являются частью самого шаблона URL. Это просто способ, которым Django перечисляет шаблоны. Таким образом, пробелы являются признаками включаемых шаблонов, но они не входят в сам шаблон URL.

Если вы таким образом перейдете по ссылке с:

/ws/chat_app/sjfAmH/

он выстрелит. Обратите внимание на косую черту . Именно поэтому шаблон не совпал.

Вернуться на верх