首页 > 解决方案 > 未呈现返回语句

问题描述

我的 HTML 代码

<select class="custom-select" id="lab" name="lab" onchange="toggleLabs(this);" required >
                                  <option value="no">No Lab Choosen</option>
                                  <option value="newlab" id="newlab">New Lab</option>
                                  {% for lab in all_obj %}
                                  <option value='{{lab.lab_name}}'  onclick="myFunc()">{{lab.lab_name}}</option>
                                  {% endfor %}
                              </select>

javascript:我在哪里访问选定的选项并将其传递给views.py

 function toggleLabs(select){
iden_lab=select.options[select.selectedIndex].text;
 $(document).ready(function () {
    $.get("", url:'/listlabs(idenlab)',{slab: iden_lab}, function (data) {
        alert(iden_lab);
    });
});

我的views.py,我将它渲染回来

def listlabs(request,):
all_obj = labs.objects.all()
val = labs.objects.all(lab_name)
if request.method == 'POST':
    form = create_lab()
    if request.is_ajax():
        lab_selected = request.GET['slab']
        obj_val = labs.objects.filter(lab_name=lab_selected).values('lab_name')[0]
        print(obj_val)
        val = obj_val['lab_name']
        print(val)
        return render(request, 'listlabs.html/', {'form': form, 'all_obj': all_obj, 'val': val})

else:
  form = create_lab(request.POST)
  return HttpResponse('success')
return render(request, 'listlabs.html/', {'form': form ,'all_obj': all_obj,'val': val})

我只想val在进入该If部分时进行渲染。我尝试打印以检查它是否位于 if 块内。它在我的命令提示符中打印了该值,但未呈现返回语句。

仅呈现最后一个 return 语句,其中 myval未被覆盖,

我该如何解决?为什么我的退货声明不起作用?

谢谢你。

标签: htmldjangotemplates

解决方案


尝试

def listlabs(request,):
all_obj = labs.objects.all()
val = labs.objects.all(lab_name)
form = create_lab()
if request.is_ajax():
    lab_selected = request.GET['slab']
    obj_val = labs.objects.filter(lab_name=lab_selected).values('lab_name')[0]
    print(obj_val)
    val = obj_val['lab_name']
    print(val)
    return render(request, 'listlabs.html/', {'form': form, 'all_obj': all_obj, 'val': val})

else:
    form = create_lab(request.POST)
    return HttpResponse('success')
return render(request, 'listlabs.html/', {'form': form ,'all_obj': all_obj,'val': val})

推荐阅读