Size: a a a

Django [ru] #STAY HOME

2019 October 02

AG

Artem Gubatenko in Django [ru] #STAY HOME
Danil Denysenko
у меня есть урл:

url(r'^auth/registration/$', RegisterView.as_view(), name='rest_register'),

так же есть view, там есть метод get и метод post. Get - загружает хтмл со страницей регистрации, при нажатии на post я хочу чтобы он считывал формы и регистрировал пользователя. Но при нажатии на кнопку все равно выполняется гет запрос. Подскажите, почему так? Моя форма  с кнопкой:
<form action="http://127.0.0.1:8000/account/auth/registration/" method="post">
       <button type="submit" class="btn btn-primary btn-block"> Create Account  </button>
</form>

и следом вопрос: как избежать ссылки в action? Я не нашел на просторах интрернета примера, где бы использовался класс во вью, а не обычная функция.
пытался что-то типо такого:
action="{% url 'RegisterView.post' %}"
если учитывать то, что мне надо делать пост запрос на этот же урл, то action="#" будет корректно работать?

cпасибо
покажи код вьюхи
источник

DD

Danil Denysenko in Django [ru] #STAY HOME
Artem Gubatenko
покажи код вьюхи
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
Всем привет, каким образом лучше переделать логин в админку джанго, мне надо добавить подтверждение входа через почту?
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
Всем привет, каким образом лучше переделать логин в админку джанго, мне надо добавить подтверждение входа через почту?
https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#specifying-a-custom-user-model
+ надо кастомный логин сделать

Ну а код подтверждения на почту шлёшь через сторонние сервисы, типа мейлган и т.п.

Потом у себя принимаешь ссылку/код + ранее записанное id сессии, валидируешь  и на этом основании логинишь пользователя
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
ilya
https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#specifying-a-custom-user-model
+ надо кастомный логин сделать

Ну а код подтверждения на почту шлёшь через сторонние сервисы, типа мейлган и т.п.

Потом у себя принимаешь ссылку/код + ранее записанное id сессии, валидируешь  и на этом основании логинишь пользователя
Ну мне нужно узнать как переопределить сам логин, надо же как то блочить обычный вход и отправлять код
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
Ну мне нужно узнать как переопределить сам логин, надо же как то блочить обычный вход и отправлять код
Определяешь свой url для login`а. Пишешь свой LoginView
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Алексей Белов
Всем привет, каким образом лучше переделать логин в админку джанго, мне надо добавить подтверждение входа через почту?
есть passwordless (например, через Auth0)
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
ilya
Определяешь свой url для login`а. Пишешь свой LoginView
Ага, а после того как принял у себе код, и с ним все норм, как я должен залогинить и редиректнуть в админку, через айди сессии?
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
Ага, а после того как принял у себе код, и с ним все норм, как я должен залогинить и редиректнуть в админку, через айди сессии?
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
Ага, а после того как принял у себе код, и с ним все норм, как я должен залогинить и редиректнуть в админку, через айди сессии?
айди сессии просто запоминать для того чтобы сравнивать его вместе с кодом/ссылкой. Типа не левый чел вставил, а именно который запрашивал логин. Ну это не обязательно
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
Окей, спасибо
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
Ага, а после того как принял у себе код, и с ним все норм, как я должен залогинить и редиректнуть в админку, через айди сессии?
у тебя в объекте request есть объект user.
y него параметр is_authenticated
ну и если ок, то пускаешь его на страницу куда он там идет. Если нет- то нет
Вообще почитай это https://docs.djangoproject.com/en/2.2/topics/auth/default/
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
В теории когда чел нажимает ссылку в почте, то он is_authenticated = False, мне нужно привязать юзера к коду? Или есть более очевидный способ
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
В теории когда чел нажимает ссылку в почте, то он is_authenticated = False, мне нужно привязать юзера к коду? Или есть более очевидный способ
пока он не авторизован - он просто анонимный
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
Да, он анонимный, но суть этой ссылки в том что после перехода по ней, сразу логин и попадание в админку
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
Мне нужно на check_view вызвать authenticate с логином и паролем
источник

АБ

Алексей Белов in Django [ru] #STAY HOME
Или любой другой метод, но во всех нужно знать юзера
источник

i

ilya in Django [ru] #STAY HOME
я думаю что надо поискать какой то Гайд и по нему пробовать разобраться:
https://medium.com/@frfahim/django-registration-with-confirmation-email-bb5da011e4ef
источник

i

ilya in Django [ru] #STAY HOME
Алексей Белов
Или любой другой метод, но во всех нужно знать юзера
источник

M

M Y S T E R I O in Django [ru] #STAY HOME
откуда в сериализаторе появилось поле для фильтра restaurant_id????? его ж в модели нет. есть просто restaurant
источник