Django не может вывести результат

я создал приложение обратной связи в системе обучения, однако я не могу отобразить страницу обратной связи, которая возвращает данные обратной связи, когда я нажимаю на ссылку обратной связи, она не возвращает ничего, как показано ниже. введите описание изображения здесь

Ниже представлен view.py

# feedback/views.py
from django.shortcuts import render, redirect
from django.contrib import messages
from accounts.models import User


def feedback_view(request):
    feedback_data = User.objects.filter(username=request.user)

    context = {
        "feedback_data": feedback_data
    }
    return render(request, "feedback/feedback.html", context)


@property
def feedback_save(request):
    if request.method != "POST":
        messages.error(request, "Invalid Method.")
        return redirect('feedback')
    else:
        feedback = request.POST.get('feedback_message')
        feedback_data = User.objects.get(username=request.user.id)

        try:
            add_feedback = FeedBack(username=feedback_data, feedback=feedback, feedback_reply="")
            add_feedback.save()
            messages.success(request, "Feedback Sent.")
            return redirect('feedback')
        except:
            messages.error(request, "Failed to Send Feedback.")
            return redirect('feedback')

model.py

from django.db import models
from django.conf import settings
User = settings.AUTH_USER_MODEL


class FeedbackMessage(models.Model):
    id = models.AutoField(primary_key=True)
    user_id = models.ForeignKey(User, on_delete=models.CASCADE)
    feedback = models.TextField()
    feedback_reply = models.TextField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = models.Manager()

feedback.html

я ожидаю, что приложение должно возвращать отзывы каждого пользователя в строке и ячейку ответа в конце

В вашем коде есть несколько проблем.

Главная проблема в том, что вы запрашиваете неправильную модель.

Отзывы ваших пользователей хранятся в модели FeedbackMessage, но вы запрашиваете модель User.

Запрос FeedbackMessage модели:

feedback_data = FeedbackMessage.objects.filter(user_id=request.user)

Другие вопросы

  1. Как отметил @Chukwujiobi Canon, нельзя использовать декоратор @property на функциях, его следует использовать с методами класса
  2. .
  3. {% load static %} лучше определить load static в верхней части вашего шаблона
  4. Django автоматически создает определенные поля в вашей модели, так что вам не нужно явно определять их. За дополнительной информацией обратитесь к документации Django.
Вернуться на верх