Найти - Пользователи
Полная версия: Как передать информацию из одного приложения в другое?
Начало » Django » Как передать информацию из одного приложения в другое?
1
Incognit0
Делаю простой чат, для начала человек должен ввести своё имя, после его закидывает в чат (я знаю что авторизацию можно сделать средствами 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, но это не подходит
balalay12
авторизуете пользователя
https://docs.djangoproject.com/en/1.10/topics/auth/default/#how-to-log-a-user-in

после этого имя пользователя берете из request.user (request.user.username)
FishHook
Incognit0
(я знаю что авторизацию можно сделать средствами django, но хочу для начала сам
Вам надо продумать не только сверку имени и пароля, но и ряд других нюансов: хранение сессии, передачу идентификатора сессии в куках, инвалидацию сессии, хеширование и соление пароля.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB