Привет. Я пытался создать URL-адрес клиента для своих пользователей, но он не работает. Я продолжаю получать NoReverseMatchError
Это мой user_login views.py
def user_login(request):
'''
Using different method for getting username, tried this and didnt work either
'''
#if request.user.is_authenticated():
#return HttpResponseRedirect('main:home')
if request.method == 'POST':
form = AuthenticationForm(request, data=request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request,user)
messages.info(request, "Successfully signed in")
return HttpResponseRedirect('home')
#return HttpResponseRedirect(reverse('main:home', kwargs={'username': username}))
else:
message = 'Sorry, the username or password you entered is not valid please try again.'
return render(request, 'login.html', {'message':message})
else:
message = 'Sorry, the username or password you entered is not valid please try again.'
return render(request, 'login.html', {'message':message})
Это моя форма для входа в систему при входе в систему. html
<form method="POST" action="{%url 'main:home' user.username %}" class="form-signin">
Это мой view "home"
def home(request, username):
username = request.user.get_username()
return render(request,'home.html')
Это мой URL-адрес в myapp / urls.py
path('home/<username>', views.home, name='home'),
Это LOGIN_REDIRECT_URL
LOGIN_REDIRECT_URL = '/main/home'
Я пытаюсь get mysite.com/home/myusername, но он дает мне ошибку NoReverseMarch
Ошибка:
NoReverseMatch at /main/
Reverse for 'home' with arguments '('',)' not found. 1 pattern(s) tried: ['main/home/(?P<username>[^/]+)$']
Я что-то упустил?