Я получаю сообщение об ошибке NoReverseMatch at/user/login /, когда я нажимаю на страницу/пользователи/логин. Ниже, как мой код выглядитdjango noreversematch error при передаче аргументов
urls.py
url(r'^$', 'views.homepage', name='home'),
url(r'^user/login/$', 'coolstuff.views.login_view'),
views.py
def login_view(request):
if request.method == 'POST':
username = request.POST['email']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None and user.is_active:
login(request, user)
return HttpResponseRedirect(request.GET.get("next"))
else:
login_error = "Your username and/or password are incorrect."
return HttpResponseRedirect(reverse('views.homepage', kwargs={'login_error': login_error}))
def homepage(request, login_error=''):
return render_to_response(homepage.html,
{'login_error': login_error,},
context_instance=RequestContext(request))
Итак, я хочу передать переменную login_error только тогда, когда пользователь вводит в неправильном имя пользователя или пароль , В любом другом случае домашняя страница вызывается без login_error. Я пытаюсь передать login_error в качестве дополнительной переменной в функцию просмотра, но получаю ошибку NoReverseMatch в/user/login /.
Как я могу это решить?
Какую версию Django вы используете? –
Я использую django 1.5 – Dev
Можете ли вы разместить свой шаблон 'homepage.html'? –