详细信息未显示 - 有人可以告诉我我的代码有什么问题吗?

Details not showing up - Can someone please tell me what is wrong with my code?

我正在创建一个系统,用户可以在其中查看其他投诉并查看投诉详细信息,但不能编辑它们。 views.py:

class ViewParticularComplaint(TemplateView):
   model = Complaint
   form_class = ComplaintForm
   template_name = 'viewusercompaint.html'
   def get_queryset(self, *args, **kwargs):
       context = super().get_context_data(*args, **kwargs)
       context["complaints"] = self.model.objects.exclude(user = self.request.user)
       return context

模板:

<form class="" action="" method="POST" enctype="multipart/form-data">
            {% csrf_token %}
            <p class="sub-typ-wr">Submit Type</p>
            <a href="/Login/Add-Complaint/Document-Style/"><button type="button" class="btn btn-secondary document-btn">Document</button></a>

            <div class="rep-num">
                <label class="written-label" for="">Report Number</label>
                <div class="written-txt-field">{{complaints.reportnumber}}</div>
            </div>

            <div class="eve-dte">
                <label class="written-label" for="">Event Date</label>
                <div class="written-txt-field">{{form.eventdate}}</div>
            </div>

            <div class="eve-typ">
                <label class="written-label" for="">Event Type</label>
                <div class="written-txt-field">{{form.event_type}}</div>
            </div>

            <div class="dev-pro">
                <label class="written-label" for="">Device Problem</label>
                <div class="written-txt-field">{{form.device_problem}}</div>
            </div>

            <label class="written-label eve-txt" for="">Event Text</label>

            <div class="Manufacturer">
                <label class="written-label" for="">Manufacturer</label>
                <div class="written-txt-field">{{form.manufacturer}}</div>
            </div>

            <div class="pro-code">
                <label class="written-label" for="">Product Code</label>
                <div class="written-txt-field">{{form.product_code}}</div>
            </div>

            <div class="brand-name">
                <label class="written-label" for="">Brand Name</label>
                <div class="written-txt-field">{{form.brand_name}}</div>
            </div>

            <div class="exem">
                <label class="written-label" for="">Exemption</label>
                <div class="written-txt-field">{{form.exemption}}</div>
            </div>

            <div class="pat-pro">
                <label class="written-label" for="">Patient Problem</label>
                <div class="written-txt-field">{{form.patient_problem}}</div>
            </div>



            <div class="comp-textarea">{{form.event_text}}</div>
            <button type="button" class="btn btn-secondary attach-btn-1"><div class="fas fa-file-upload">{{form.document}}</div></button>
        </form>

应该看到的是:

没有保存按钮之类的东西。但我实际看到的是:

问题是什么,我该如何解决?

您需要使用的是 DetailView

class ViewParticularComplaint(DetailView):
   model = Complaint
   template_name = 'viewusercompaint.html'
   context_object_name = 'complaint'

   def get_queryset(self, *args, **kwargs):
       return Complaint.objects.all()

在模板中,您可以像这样访问投诉对象:

<div class="dev-pro">
    <label class="written-label" for="">Device Problem</label>
    <div class="written-txt-field">{{complaint.device_problem}}</div>
</div>