无法显示djang中的表单字段和对象

2024-09-27 04:30:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用不同的视图在一个模板页面(dischargedetails.html)中创建多个表单。每个表单模型都有foreignkey Ipd,第一个表单(程序改革)工作正常,但第二个表单(调查表单)无法显示调查日期字段和调查名称字段

models.py:

class Investigation(models.Model):
    id = models.AutoField(primary_key = True)
    ipd = models.ForeignKey(Ipd,on_delete = models.DO_NOTHING)
    name = models.CharField(max_length=60)
    report = models.TextField(max_length=500)
    date = models.DateField(("Date"), default=datetime.date.today)

class Procedure(models.Model):
    id = models.AutoField(primary_key = True)
    ipd = models.ForeignKey(Ipd,on_delete = models.DO_NOTHING)
    report = models.TextField(max_length=500)
    date = models.DateField(("Date"), default=datetime.date.today)
    time = models.TimeField( blank=True,default=now)

URL.py:


re_path(r'^(?P<ipd_id>\d+)/dischargedetails/$', my_patient.discharge_detail, name='discharge_details'),

views.py:

@login_required
def discharge_detail(request,ipd_id):
    object = get_object_or_404(Ipd,pk=ipd_id)

    if request.method =="POST": 
        procedure = ProcedureForm(request.POST)
        if procedure.is_valid():
            procedure.save()
            return HttpResponseRedirect(request.path_info)
        else :
            return HttpResponse(procedure.errors.as_data())
    else :
        prolist=Procedure.objects.all().filter(ipd=ipd_id)
        procedure = ProcedureForm()
        return render(request, 'dischargedetails.html',{'object':object,'procedure':procedure,'prolist':prolist})

    if request.method=="POST":
        investigation = InvestigationForm(request.POST)
        if investigation.is_valid():
            inves = investigation.save(commit = False)
            inves.object = object
            inves.save()
            return HttpResponseRedirect(request.path_info)
        else:
            return HttpResponse(investigation.errors.as_data())
    else :
        investigationlist = Investigation.objects.all().filter(ipd=ipd_id)
        investigation = InvestigationForm()
        return render(request, 'dischargedetails.html',{'object':object,'investi':investigation,'investilist':investigationlist})



@login_required
def create_investigation(request,ipd_id):
    object = get_object_or_404(Ipd,pk=ipd_id)


模板

<form  method="post" action="{% url 'discharge_detail' ipd_id=object.ipd_id  %}"  enctype="multipart/form-data">

<label>Date</label>
<div class="input-group date">
{{ investi.date| add_class:'form-control' }}
<label id="addNotesIDhelp" class="error" for=""></label>
</div>

<div class="form-group">
<textarea id="notesTextId" name = "report" type="text" placeholder="Add Investigation"class="form-control" value = "{{investi.report}}" required></textarea>

<div class="form-group">{{investi.name | add_class:'form-control'}} <label>Report Name</label></div>

</div>



                                   {% for pro in investilist %}
                                        <div class="media">
                                            <div class="shadow w-100 p-3 mb-5 bg-white rounded">
                                                <div class="media-body" style="background-color: rgb(173, 181, 212)">
                                                  <h4 class="media-heading">{{pro.name}}{{pro.date}}</h4>
                                                  <br>
                                                  <p style="color: black">{{pro.report}}</p>
                                                   <br>
                                                </div>
                                            </div>
                                              </div>
                                              {% endfor  %}



Tags: namedivformiddatereturnobjectmodels

热门问题