У меня есть приложение Django под названием chat
, а корень urls.py
выглядит следующим образом
path('messages/', include('chat.urls')),
Однако приведенный ниже URL-адрес в приложении чата urls.py
вызывает проблемы
re_path(r"^(?P<username>[\w.@+-]+)", login_required(chat_views.ThreadView.as_view()), name='thread'),
То, что происходит, - то, что вместо броска 404 не существует ошибки, когда я иду к выдуманному URL, такому как
localhost/messages/blahblah/02
Вместо этого он бросает
NOT NULL constraint failed: chat_thread.second_id
, потому чтоон предполагает, что blahblah/02
является именем пользователя и сопоставляет его с ThreadView
, который не может получить объект thread
от 2 пользователей.
Таким образом, по сути, любой другой шаблон URL, который я пытаюсь создать вchat
приложение не маршрутизируется должным образом.(Например, я попытался создать NotificationListView
, но не смог получить к нему доступ из-за маршрутизации от messages/notifications
до ThreadView
)
Как я могу предотвратить это?