Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » [Вопрос нуба] Откуда берется такое странное перенапрвление? [RSS Feed]

#1 Март 6, 2016 15:42:33

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

[Вопрос нуба] Откуда берется такое странное перенапрвление?

На сайте сделана авторизация, как рассказано в вот этом видео.
Когда пытаюсь авторизоваться, получаю ошибку:

Page not found (404)
Request Method: POST
Request URL: http://127.0.0.1:8000/auth/login/auth/login/
Не могу понять, откуда берется такой url. Изначально захожу по http://127.0.0.1:8000/auth/login/, откуда и почему он добавляет еще раз auth/login/ ?
Код функции login:
def login(request):
	args = {}
	args.update(csrf(request))
	if request.POST:
		username = request.POST.get('username','')
		password = request.POST.get('password', '')
		user = auth.authenticate(username=username, password=password)
		if user is not None:
			auth.login(request, user)
			return redirect ('/')
		else:
			args['login_error'] = 'Пользователь не найден'
			return render_to_response('loginsys/login.html', args)
	else:
		return render_to_response('loginsys/login.html', args)
Как видите, redirect идет на ‘/’, т.е. меня, по идее, должно перенаправлять на http://127.0.0.1:8000/.
Откуда такое поведение?

Офлайн

#2 Март 6, 2016 18:06:28

ivanzzz
Зарегистрирован: 2016-02-08
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

[Вопрос нуба] Откуда берется такое странное перенапрвление?

Изначально захожу по http://127.0.0.1:8000/auth/login/, откуда и почему он добавляет еще раз auth/login/
так вы по нему заходите.

Офлайн

#3 Март 7, 2016 12:25:44

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

[Вопрос нуба] Откуда берется такое странное перенапрвление?

Я по нему захожу, ввожу логин и пароль.
Далее, следуя логике функции login, должен быть осуществлен шаг:

return redirect ('/')
Но редирект происходит не на ‘/’, а на /auth/login/auth/login/

Офлайн

#4 Март 7, 2016 13:48:36

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

[Вопрос нуба] Откуда берется такое странное перенапрвление?

Форму авторизации киньте, шаблон которая

Офлайн

#5 Март 7, 2016 14:56:18

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

[Вопрос нуба] Откуда берется такое странное перенапрвление?

Есть основания полагать что у вас в форме login.html - прописан еще раз auth/login/



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Март 9, 2016 14:12:58

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

[Вопрос нуба] Откуда берется такое странное перенапрвление?

Шаблон вот:

{% extends 'pets/main.html' %} 

{% block login %}
<form action = 'auth/login/' method = 'post'>
{% csrf_token %}
<label for='username'>Имя пользователя</label>
<input type='text' name='username' id='username'>
<label for='password'>Пароль</label>
<input type='password' name='password' id='password'>
{% if login_error %}
<label class='error'>{{ login_error }}</label>
{% endif %}
<input class='button' type='submit' value='Войти'>
</form>
{% endblock %}

После удаления из <form action = ‘auth/login/’ method = ‘post’> адреса auth/login/ все заработало.
Спасибо.

Офлайн

  • Начало
  • » Django
  • » [Вопрос нуба] Откуда берется такое странное перенапрвление?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version