如何 return 两个 Python 对象到 HTML
How to return two Python objects to HTML
我有这个 HTML 和我通过 POST 发送以下表单的 JS 代码,首先它评估了 HTML 中的那些元素是否是 select编辑
page.HTML
<div style="width: 100%; height: 70%;">
<ul>
<li><input type="checkbox" name="biblioteca[]" value="biblioteca" id="rd-biblioteca"/>
<p class="label-text">Biblioteca </p>
</li>
<li><input type="checkbox" name="books[]" value="revistas" id="cb-revistas"/>
<p class="label-text">Revistas </p>
</li>
<li><input type="checkbox" name="books[]" value="novelas" id="cb-novelas"/>
<p class="label-text">Novelas </p>
</li>
</ul>
</div>
file.js
$('#msform').validate({
submitHandler: function (form) {
$('#rd-biblioteca').is(':checked')?$('#rd-biblioteca').val():$('#rd-biblioteca').val(0);
$('#cb-revistas').is(':checked')?$('#cb-revistas').val():$('#cb-revistas').val(0);
$('#cb-novelas').is(':checked')?$('#cb-novelas').val():$('#cb-novelas').val(0);
form.submit();
}
});
在views.py中我得到了POST,然后询问这些值是否是selected的值,如果是,则创建一个名为Info的对象并且保存在 ListaProject 中。
views.py
def school(request):
if request.method == 'POST':
listaProject = []
if request.POST.get("biblioteca[]") == 'biblioteca':
if request.POST.get("books[]") == 'revistas':
revistas = Info(titulo="Titulo ..",
descripcion="Descripcion ...",
precio="Precio ...")
listaProject.append(cocina)
else:
if request.POST.get("books[]") == 'novelas':
novelas = Info(titulo="Titulo 2...",
descripcion="Descripcion 2...",
precio="Precio 2...")
listaProject.append(nube)
return render_to_response("v2/index.html", {'listaProject': listaProject},
context_instance=RequestContext(request))
else:
response_data = {}
response_data['response'] = "ok"
return HttpResponse(json.dumps(response_data), content_type="application/json")
我需要知道的是如何 select 勾选书籍 [] 的两个复选框显示两个对象,因为只显示一个对象,即使您 select 两者都显示。
您可以获得多个选中的复选框值,通过更改 js 和视图 file.Hope 它可以帮助您
$('#msform').validate({
submitHandler: function (form) {
allVals=[]
$('#rd-biblioteca').is(':checked')?$('#rd-biblioteca').val():$('#rd-biblioteca').val(0);
$('input[name="books[]"]:checked').each(function () {
allVals.push($(this).val());
});/*you can get multiple selected checkbox list in array */
form.submit();
} });
视图文件中的更改:
def school(request):
if request.method == 'POST':
listaProject = []
if request.POST.get("biblioteca[]") == 'biblioteca':
revistas = Info(titulo="Titulo ..",
descripcion="Descripcion ...",
precio="Precio ...")
listaProject.append(cocina)
else:
if request.POST.get("books[]") == 'revistas' or 'novelas':
novelas = Info(titulo="Titulo 2...",
descripcion="Descripcion 2...",
precio="Precio 2...")
listaProject.append(nube)
return render_to_response("v2/index.html", {'listaProject': listaProject},
context_instance=RequestContext(request))
else:
response_data = {}
response_data['response'] = "ok"
return HttpResponse(json.dumps(response_data), content_type="application/json")`enter code here`
我有这个 HTML 和我通过 POST 发送以下表单的 JS 代码,首先它评估了 HTML 中的那些元素是否是 select编辑
page.HTML
<div style="width: 100%; height: 70%;">
<ul>
<li><input type="checkbox" name="biblioteca[]" value="biblioteca" id="rd-biblioteca"/>
<p class="label-text">Biblioteca </p>
</li>
<li><input type="checkbox" name="books[]" value="revistas" id="cb-revistas"/>
<p class="label-text">Revistas </p>
</li>
<li><input type="checkbox" name="books[]" value="novelas" id="cb-novelas"/>
<p class="label-text">Novelas </p>
</li>
</ul>
</div>
file.js
$('#msform').validate({
submitHandler: function (form) {
$('#rd-biblioteca').is(':checked')?$('#rd-biblioteca').val():$('#rd-biblioteca').val(0);
$('#cb-revistas').is(':checked')?$('#cb-revistas').val():$('#cb-revistas').val(0);
$('#cb-novelas').is(':checked')?$('#cb-novelas').val():$('#cb-novelas').val(0);
form.submit();
}
});
在views.py中我得到了POST,然后询问这些值是否是selected的值,如果是,则创建一个名为Info的对象并且保存在 ListaProject 中。
views.py
def school(request):
if request.method == 'POST':
listaProject = []
if request.POST.get("biblioteca[]") == 'biblioteca':
if request.POST.get("books[]") == 'revistas':
revistas = Info(titulo="Titulo ..",
descripcion="Descripcion ...",
precio="Precio ...")
listaProject.append(cocina)
else:
if request.POST.get("books[]") == 'novelas':
novelas = Info(titulo="Titulo 2...",
descripcion="Descripcion 2...",
precio="Precio 2...")
listaProject.append(nube)
return render_to_response("v2/index.html", {'listaProject': listaProject},
context_instance=RequestContext(request))
else:
response_data = {}
response_data['response'] = "ok"
return HttpResponse(json.dumps(response_data), content_type="application/json")
我需要知道的是如何 select 勾选书籍 [] 的两个复选框显示两个对象,因为只显示一个对象,即使您 select 两者都显示。
您可以获得多个选中的复选框值,通过更改 js 和视图 file.Hope 它可以帮助您
$('#msform').validate({
submitHandler: function (form) {
allVals=[]
$('#rd-biblioteca').is(':checked')?$('#rd-biblioteca').val():$('#rd-biblioteca').val(0);
$('input[name="books[]"]:checked').each(function () {
allVals.push($(this).val());
});/*you can get multiple selected checkbox list in array */
form.submit();
} });
视图文件中的更改:
def school(request):
if request.method == 'POST':
listaProject = []
if request.POST.get("biblioteca[]") == 'biblioteca':
revistas = Info(titulo="Titulo ..",
descripcion="Descripcion ...",
precio="Precio ...")
listaProject.append(cocina)
else:
if request.POST.get("books[]") == 'revistas' or 'novelas':
novelas = Info(titulo="Titulo 2...",
descripcion="Descripcion 2...",
precio="Precio 2...")
listaProject.append(nube)
return render_to_response("v2/index.html", {'listaProject': listaProject},
context_instance=RequestContext(request))
else:
response_data = {}
response_data['response'] = "ok"
return HttpResponse(json.dumps(response_data), content_type="application/json")`enter code here`