【问题标题】:Details not showing up - Can someone please tell me what is wrong with my code?详细信息未显示 - 有人可以告诉我我的代码有什么问题吗?
【发布时间】:2021-07-25 10:26:44
【问题描述】:

我正在创建一个系统,用户可以在其中查看其他投诉并查看投诉详细信息,但不能对其进行编辑。 视图.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>

应该看到的是:

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

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

【问题讨论】:

    标签: django django-models django-views django-forms django-templates


    【解决方案1】:

    您需要使用的是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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 2020-10-30
      • 2010-11-08
      • 1970-01-01
      • 2021-11-16
      相关资源
      最近更新 更多