Получение (NoReverseMatch at / Reverse for 'chatpage' with no arguments not found. Проверен 1 шаблон(ы): ['ChatView/(?P<uname>[^/]+)\\\Z'] после входа в систему
Я знаю, что этот вопрос задавался уже более пяти раз, но я, как ноб, перепробовал множество решений и так и не смог найти решение. Я следовал документации django-channels и вместо room-name я хочу отображать имя пользователя в URL, но когда я пытаюсь сделать это согласно инструкции, возникает ошибка. Вот изображение ошибки. Изображение ошибки при запуске на Mozilla firefox и вот что пишет в терминале Изображение ошибки в терминале и вот строка из chatpage urls.py, которую я пытаюсь отобразить с именем пользователя
path('ChatView/<str:uname>', login_required(views.ChatView.as_view()), name="chatpage"),
а это строка файла views.py для chatpage.
class ChatView(View):
def get(request, username):
uname = User.objects.get(username=username)
return render(request, 'chatbot/chatPage.html', {
'uname': uname
},
context_instance=RequestContext(request))
а это Html код, который я использую для ввода имени пользователя:
<input class="w-full text-lg py-2 border-b border-gray-300 focus:outline-none focus:border-indigo-500" type="text" placeholder="Enter Your Username" id="username" name="username" value="{{data.username}}" Required>
Вот четыре ссылки на pastebin для полного кода:
В ваших утверждениях return redirect("chatpage")
отсутствует аргумент uname
.
Вы должны написать что-то вроде
return redirect("chatpage", uname=username)