ajax 怎么
ajax 如何
我用的是django1.8 python2.7,
。
我想输入company和region信息后,点提交,然后页面出现右面图中的表。这个表里的数据是通过用户输入的信息(comopany,region)在数据库进行筛选,最后显示出来的结果。
下面这个代码肯定不对,但是不知道哪里错了。现在result.html可以打开不报错,但是左边的输入表单无法输入数据,点击submit也没用。请各位指教,先谢谢了。
views.py
result_list.html
------解决思路----------------------
你的 <div id="result" class="dupont"> 这个和result_list.html在同一个页面? <div id="result" class="dupont"> 里面的内容应该是你的py文件动态输出。
你最好是转到Python相关板块去,Python不会。。。不懂逻辑怎么实现的
------解决思路----------------------
我也想知道这个问题,坐等大神回复,看答案
------解决思路----------------------
我也想知道这个问题,坐等大神回复,看答案
我用的是django1.8 python2.7,
。
我想输入company和region信息后,点提交,然后页面出现右面图中的表。这个表里的数据是通过用户输入的信息(comopany,region)在数据库进行筛选,最后显示出来的结果。
下面这个代码肯定不对,但是不知道哪里错了。现在result.html可以打开不报错,但是左边的输入表单无法输入数据,点击submit也没用。请各位指教,先谢谢了。
views.py
from django.http import JsonResponse
class ResultView(ListView):
context_object_name = 'result_list'
template_name = 'result_list.html'
# /URL-to-ajax-view/
def ajax_get_queryset(request):
if self.request.method == 'POST' and request.is_ajax:
form = InputForm(self.request.POST or None)
if form.is_valid():
company = form.cleaned_data['company']
region = form.cleaned_data['region']
queryset=Result.objects.filter(company=company,region=region)
return queryset
else:
print form.errors
raise Http404
return super(ResultView,self).get_queryset()
def get_context_data(self, **kwargs):
context = super(DupontView, self).get_context_data(**kwargs)
context["sales"] = self.get_queryset().aggregate(Sum('sales'))
context["employee"]= self.get_queryset().aggregate(Sum('employee'))
context["company"] = self.request.POST.get("company")
context["region"] = self.request.POST.get("region")
return context
result_list.html
<body>
<form id="InputForm" method="post" action=""> #输入信息的表单
{% csrf_token %}
<!--enter the company name-->
<div class="field">
{{ form.company.errors }}
<label for="{{ form.company.id_for_label }}">Company:</label>
{{ form.company }}
</div>
<!--select region-->
<div class="field" >
<label> Select the Region:
{{ form.region }}
{% for region in form.region.choices %}
<option value="region" name= "region" id="id_region">{{region}} </option>
{% endfor %}
</label>
</div>
<!--submit-->
<p><input type="submit" value="Submit" /></p></div>
</form>
</div>
<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#InputForm").submit(function() { // catch the form's submit event
$.ajax({ // create an AJAX call...
data: $(this).serialize(), // get the form data
type: $(this).attr('post'),
url: '/URL-to-ajax-view/',
success: function(data,status) { // on success..
$("#result").html(data); // update the DIV "result"
}
});
return false;
});
});
</script>
<div id="result" class="dupont"> <!--显示筛选出的结果-->
<table>
<tr><b>Sales</b></tr>
<td> {{sales.sales__sum}}</td>
<tr><b>Employee</b></tr>
<td> {{employee.employee__sum}}</td>
</table>
------解决思路----------------------
你的 <div id="result" class="dupont"> 这个和result_list.html在同一个页面? <div id="result" class="dupont"> 里面的内容应该是你的py文件动态输出。
你最好是转到Python相关板块去,Python不会。。。不懂逻辑怎么实现的
------解决思路----------------------
我也想知道这个问题,坐等大神回复,看答案
------解决思路----------------------
我也想知道这个问题,坐等大神回复,看答案