@bwylla

Как вывести отправленные сообщения?

Типа это чат для авторизованных пользователей, сообщения отправляются(проверял через шелл), но сообщения не отображаются на странице диалога.

#Модель чата
class Message(models.Model):
    user_from = models.ForeignKey(User,  on_delete=models.CASCADE, related_name='user_from')
    user_to = models.ForeignKey(User,  on_delete=models.CASCADE, related_name='user_to')
    message = models.TextField()
    pub_date = models.DateTimeField(default=timezone.now)

    class Meta:
        ordering=['pub_date']

    def __str__(self):
        return self.message

#views
def chat(request, pk):
    profile = get_object_or_404(Profile, pk=pk)
    user_from = request.user
    user_to = profile.user
    new_message = None

    if request.method == 'POST':
        message_form = MessageForm(request.POST)
        if message_form.is_valid():
            new_message = message_form.save(commit=False)
            new_message.user_from = user_from
            new_message.user_to = user_to
            new_message.save()
            return redirect('/')
    else:
        message_form = MessageForm()

    return render(request, 'chat/message.html', {'user_from': user_from,
                                                'user_to': user_to,
                                                'message_form': message_form,
                                                'new_message': new_message})

{{ user_from }}
{{ user_to }}


{% for mess in new_message %}
  {{ mess }}
{% endfor %}

<form method="post">
  {% csrf_token %}
  {{ message_form }}
  <input type="submit" name="" value="Отправить">
</form>
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы