У меня есть вид, где канал чата создается между двумя пользователями.Я хочу уведомить пользователя, когда сообщение отправлено (от кого оно пришло), но у меня возникают проблемы с доступом к текущему пользователю (пользователю, который вошел в систему и отправил сообщение).В представлении ниже у меня есть «to_user», чье имя отображается правильно, однако «current_user» не отображается.
Вот мой views.py
@login_required
def create_channel(request, to_user_id):
to_user = get_user_model().objects.get(pk=to_user_id)
try:
channel = Channel.objects.get(users=request.user, users__id=to_user_id)
except Channel.DoesNotExist:
channel = Channel.objects.create(
channel_name='{from_user}-{to_user}'.format(from_user=request.user.username, to_user=to_user)
)
channel.users.add(request.user)
channel.users.add(to_user)
client = get_client()
service = client.chat.services(settings.TWILIO_CHAT_SID)
twilio_channel = service.channels.create(channel.channel_name)
channel.twilio_chat_id = twilio_channel.sid
twilio_channel.members.create(identity=request.user.get_twilio_user_id())
twilio_channel.members.create(identity=to_user.get_twilio_user_id())
channel.save()
#email the to_user when they receive a message
to_user = to_user
current_user = request.user
to_user_email = to_user.email
user_email = current_user.email
html_message_to_user = render_to_string('send_message_to_user.html', {'user': current_user,
'to_user': to_user,
'channel': channel,
}
#send email to the to_user
send_mail(current_user.first_name + ' has sent you a message', plain_message_to_user, 'x@x.com', [to_user_email], fail_silently=False, html_message=html_message_to_user)
mail_admins('A message has been sent', 'A message has been sent to ' + to_user.first_name + ' from ' + current_user.first_name, fail_silently=False, )
return HttpResponseRedirect(reverse('chatapp:twilio', kwargs={'pk': channel.pk}))
Электронная почтаотправка правильно, однако имя_пользователя current_user не отображается.Я также попытался просто указать 'user' или 'request.user', и они тоже не работают.Я не уверен, как получить имя текущего пользователя для отображения в сообщении электронной почты или в шаблоне электронной почты.
Любая помощь приветствуется!