Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как передать информацию из одного приложения в другое? [RSS Feed]

#1 Сен. 15, 2016 16:25:46

Incognit0
Зарегистрирован: 2016-09-15
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передать информацию из одного приложения в другое?

Делаю простой чат, для начала человек должен ввести своё имя, после его закидывает в чат (я знаю что авторизацию можно сделать средствами django, но хочу для начала сам).

Есть два шаблона: login.html и chat.html. (urls: /login/ и /messenger/)
Есть модель Users, которая отражает список всех пользователей и некоторую информацию о них.

Когда человек вводит имя в форме на странице login.html, имя сверяется с объектами Users, и если находит соответствие по имени, перенаправляет человека в /messenger/:

 if request.POST['login'] == user.name:
contex = {'messeges': messeges, 'user': user}
return render(request, 'chat.html', context)

Проблема в том, что при следующем обновлении страницы (тк чат простой, то страница обновляется при отправки сообщения и подгружает пришедшие сообщения) страница рендериться уже не из приложения login_app, а из приложения chat_app, а там я в context объект (а значит и имя) юзера вставить уже не могу, так как он храниться в переменной context, которая в приложении login_app.

Подскажите плиз, как решить эту проблему?
Ещё раз: нужно объект из приложения login_app передать в приложение chat_app.

P.S. возможно это можно сделать, передавая имя через url, но это не подходит

Офлайн

#2 Сен. 21, 2016 17:22:45

balalay12
Зарегистрирован: 2014-07-28
Сообщения: 92
Репутация: +  4  -
Профиль   Адрес электронной почты  

Как передать информацию из одного приложения в другое?

авторизуете пользователя
https://docs.djangoproject.com/en/1.10/topics/auth/default/#how-to-log-a-user-in

после этого имя пользователя берете из request.user (request.user.username)

Отредактировано balalay12 (Сен. 21, 2016 17:23:41)

Офлайн

#3 Окт. 16, 2016 11:36:58

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как передать информацию из одного приложения в другое?

Incognit0
(я знаю что авторизацию можно сделать средствами django, но хочу для начала сам
Вам надо продумать не только сверку имени и пароля, но и ряд других нюансов: хранение сессии, передачу идентификатора сессии в куках, инвалидацию сессии, хеширование и соление пароля.



Офлайн

  • Начало
  • » Django
  • » Как передать информацию из одного приложения в другое?[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version