
Lazoreth
29.03.2018
03:55:36
Хотя нет, правильные

Dan
29.03.2018
03:55:59
если через форму
то ты не обновляешь
а создаешь новую запись
если через форму для обновления
нужно передать атрибут instance

Lazoreth
29.03.2018
04:12:46
С instance получилось, спасибо!

Google

Set
29.03.2018
04:26:44
# USER
from django.urls import reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('musics:musics')
LOGIN_URL = reverse_lazy('account:login')
LOGOUT_URL = reverse_lazy('account:logout')

Dan
29.03.2018
04:29:16
у тебя есть password_reset_done
а просишь password_change_done

Set
29.03.2018
04:30:56
когда path('password-change/done/', password_change_done, name='password_change_done'),

Dan
29.03.2018
04:32:04

Set
29.03.2018
04:32:51
как нету ? Оо

Dan
29.03.2018
04:33:23
тут посмотри

Set
29.03.2018
04:33:49

Dan
29.03.2018
04:34:51
ты показываешь кусок кода, и ошибку
я тебе говорю что не так на основании того что ты показал а не того что у тебя есть
сейчас ошибка есть ? и какая ?

Set
29.03.2018
04:35:32
ошибка

Google

Set
29.03.2018
04:35:39
такая же шняга с функцией

Dan
29.03.2018
04:36:30
здесь нет урла password_change_done
здесь он говорит что ты пыттаешься обратится к password_change_done но его не находит
ты его зачем закоментировал ?
даже так
ты его закоментировал и пытаешься к нему обратиться

Set
29.03.2018
04:38:51

Dan
29.03.2018
04:39:15

Set
29.03.2018
04:39:53
password_change_done
path('password-change/done/', auth_views.PasswordChangeDoneView.as_view(template_name='account/password_change_done.html'), name='password_change_done'),

Dan
29.03.2018
04:40:15
а я вижу что никакого

Set
29.03.2018
04:40:26

Dan
29.03.2018
04:41:16
где формируешь ссылку?
обращение через namespace?
namespace для account установлен ?

Set
29.03.2018
04:42:32

Dan
29.03.2018
04:43:16
где ссылку или reverse вызываешь ?

Set
29.03.2018
04:43:23
урл http://127.0.0.1:8000/account/password-change/ не работает но ругается на http://127.0.0.1:8000/account/password-change/done/

Google

Set
29.03.2018
04:44:01
где ссылку или reverse вызываешь ?
в settings
from django.urls import reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('musics:musics')
LOGIN_URL = reverse_lazy('account:login')
LOGOUT_URL = reverse_lazy('account:logout')
LOGIN_REDIRECT_URL временный поставил
на пустой шаблон

Dan
29.03.2018
04:45:30
покажи что у тебя в функции password_change

Set
29.03.2018
04:48:09
from django.contrib.auth.views import logout_then_login, password_change,
сейчас даже попробовал через класс вызвать
path('password-change/', auth_views.PasswordChangeView.as_view(template_name='account/password_change_form.html'), name='password_change'),
такая же ошибка

Dan
29.03.2018
04:50:12
в password_change есть запись
post_change_redirect = reverse('password_change_done')
тоесть обращение к урлу по имени без namespace
на этом месте у тебя падает
в
class PasswordChangeView(PasswordContextMixin, FormView):
form_class = PasswordChangeForm
success_url = reverse_lazy('password_change_done')
тоже самое обращение
как вариант решения
вынести
path(... name='password_change_done')
в корневой urls
либо отнаследоваться от класса и переопределить
success_url на reverse_lazy('account:password_change_done')
второй вариант скорее всего правильнее

Set
29.03.2018
04:57:28

Dan
29.03.2018
05:00:07
найди в проекте везде где встречается
password-change
именно с тире

Set
29.03.2018
05:22:12
только вот не ридеректиться на password_change_done

Google

Set
29.03.2018
05:22:49
при смене пароля

Ahmed
29.03.2018
07:05:59
В джанге можно сделать как-нибудь back redirect? Чтобы параметры были сохранены.

Dan
29.03.2018
07:14:49

Ilgiz
29.03.2018
07:22:17
HTTP_REFERER может

serbernar
29.03.2018
07:25:02

Дмитрий
29.03.2018
07:25:23
хммм

serbernar
29.03.2018
07:25:24
Лол, настройки слетели

Dan
29.03.2018
07:25:52
у меня нормально обновился
я правда с RC сижу

serbernar
29.03.2018
07:26:11
RC?

Dan
29.03.2018
07:26:22
релиз кандидат

serbernar
29.03.2018
07:26:33
ну, у меня вроде бы тоже

Dan
29.03.2018
07:26:54
если сейчас то это уже офф релиз

serbernar
29.03.2018
07:27:20
а, ты за пре релизы
Не, я не рискую

Dan
29.03.2018
07:28:16
там есть: рание версии, бета, релиз кандидат, офф релиз

Bi
29.03.2018
07:31:52
Кто прикручивал recaptcha 2?

Dan
29.03.2018
07:32:39
в чем вопрос ?

Bi
29.03.2018
07:36:17
По вью регистрации пользователя идёт проверка recaptcha. Отправляется запрос на сервер гугл. Видимо запрос выполняется долго. Воркер падает по таймауту. Все работает на связке nginx gunicorn django

serbernar
29.03.2018
07:36:22
и ждешь пока он сформулирует вопрос

Bi
29.03.2018
07:36:57

Google

serbernar
29.03.2018
07:37:54
а ты дебажил вообще?
долго это сколько?

Dan
29.03.2018
07:38:04


Bi
29.03.2018
07:39:56
def signup(request):
response_data = {}
response_data['regform'] = UserRegForm()
if request.POST:
new_user_form = UserRegForm(request.POST)
if new_user_form.is_valid():
if recaptcha(request.POST.get('g-recaptcha-response'))['success']:
newuser = User_profile.objects.create_inactive_user(username=new_user_form.cleaned_data['username'], password=new_user_form.cleaned_data['password2'], email=new_user_form.cleaned_data['email'])
response_data['message_title'] = "Регистрация пользователя успешно завершена!"
response_data['message'] = "Для активация Вашего аккаунта, на указанный емайл направленна ссылка на активацию!"
return render(request, 'pages/sys_message.html', response_data)
else:
response_data['regform']=new_user_form
response_data['signuperrors'] = "Ошибка reCAPTCHA! Попробуйте еще раз!"
return render(request, 'pages/signup.html', response_data)
else:
response_data['regform']=new_user_form
return render(request, 'pages/signup.html', response_data)
return render(request, 'pages/signup.html', response_data)


serbernar
29.03.2018
07:41:40
такое лучше в пастебин бросать
https://dpaste.de/


Dan
29.03.2018
07:43:13
def signup(request):
response_data = {}
response_data['regform'] = UserRegForm()
if request.POST:
new_user_form = UserRegForm(request.POST)
if new_user_form.is_valid():
if recaptcha(request.POST.get('g-recaptcha-response'))['success']:
newuser = User_profile.objects.create_inactive_user(username=new_user_form.cleaned_data['username'], password=new_user_form.cleaned_data['password2'], email=new_user_form.cleaned_data['email'])
response_data['message_title'] = "Регистрация пользователя успешно завершена!"
response_data['message'] = "Для активация Вашего аккаунта, на указанный емайл направленна ссылка на активацию!"
return render(request, 'pages/sys_message.html', response_data)
else:
response_data['regform']=new_user_form
response_data['signuperrors'] = "Ошибка reCAPTCHA! Попробуйте еще раз!"
return render(request, 'pages/signup.html', response_data)
else:
response_data['regform']=new_user_form
return render(request, 'pages/signup.html', response_data)
return render(request, 'pages/signup.html', response_data)
Минут через 20 посмотрю


Bi
29.03.2018
07:43:15
вот функция проверка recaptcha https://dpaste.de/mha2
вот здесь код view регистрации
https://dpaste.de/Z5zR

Meent
29.03.2018
07:44:42
Добрый день, в джанге есть подобие ObjejctField?

serbernar
29.03.2018
07:44:56

Bi
29.03.2018
07:46:26
https://dpaste.de/r57F

serbernar
29.03.2018
07:47:35
Ну, я бы делал так: натыкал везде лог инфо и выводил бы на каком ты этапе
что пришло, почему пришло

Bi
29.03.2018
07:48:26
без gunicorn все работает хорошо
если запустить gunicorn руками тоже

serbernar
29.03.2018
07:49:06
а что в логах гуникорна?
гуникорн это вообще так себе затея