当前位置 : 主页 > 编程语言 > python >

django分页

来源:互联网 收集:自由互联 发布时间:2022-06-15
​​https://github.com/huningfei?tab=repositories​​ ​​https://www.cnblogs.com/huningfei/p/10716916.html​​ table border="1px" thead tr thID/th th名称/th th操作/th /tr /thead tbody {% for cls in paginator_data.object_list %}

​​https://github.com/huningfei?tab=repositories​​

​​https://www.cnblogs.com/huningfei/p/10716916.html​​

<table border="1px">

<thead>

<tr>

<th>ID</th>

<th>名称</th>

<th>操作</th>

</tr>

</thead>

<tbody>

{% for cls in paginator_data.object_list %}

<tr>

<td>{{ cls.id }}</td>

<td>{{ cls.title }}</td>

<td>

<button id="btn_delete" type="submit" name="btn_delete" value="{{ cls.id }}">删除</button>

<!--<button id="btn_add" type="submit" name="btn_add" value="{{ cls.id }}">删除</button> -->

</td>

</tr>

{% endfor %}

</tbody>

</table>

<div class="yahoo2" style="margin-left:1%">

{% if paginator_data.has_previous %}

<a class='paginator' href='?page={{ paginator_data.previous_page_number }}&search={{search}}'><span>上一页</span></a>

{% endif %}

{% for page in paginator_data.paginator.page_range %}

{% if paginator_data.number == page %}

<span id="currentpage">{{ page }}</span>

{% else %}

<a class='paginator' href='?page={{ page }}&search={{search}}' title='{{ page }}'><span>{{ page }}</span></a>

{% endif %}

{% endfor %}

{% if paginator_data.has_next %}

<a class='paginator' href='?page={{ paginator_data.next_page_number }}&search={{search}}'><span>下一页</span></a>

{% endif %}

</div>

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">

新增

</button>

<inclue src="modal_classes.html"></inclue>

<!-- 模态框(Modal) -->

{% include 'modal_classes.html' %}

<script>

$('#btn_delete').click(function () {

id = $('#btn_delete').val();

alert(id)

url = '/del_classes/'+ id

type = 'DELETE'

data = {}

$.ajax({

type: type,

url: url,

data: data,

dataType: "json",

success: function(data){

//逻辑

console.log(data)

location.reload()

},

error: function(){

//显示错误信息

},

})

})

$('#btn_add').click(function () {

var title = $('#class_name').val()

var data = {title:title}

type = 'POST' // GET,POST,DELETE,PUT, ...

url = '/del_classes/'

$.ajax({

type: type,

url: url,

data: data,

dataType: "json",

success: function(result){

//逻辑

console.log(result)

status = result.status

if (status == 1){

location.reload()

} else if (status == 0){

alert('重复创建')

}

},

error: function(){

//显示错误信息

},

})

})

</script>

</body>





class del_classes(ListView):
model = Classes
paginate_by = 10 template_name= 'get_classes.html' def delete(self,request,*args,**kwargs):
print(kwargs)
pk = kwargs.get('pk')
print(pk)
Classes.objects.filter(id=pk).delete()
return JsonResponse({'status':1})
def post(self,request,*args,**kwargs):
data = QueryDict(request.body).dict()
print(data)
Classes.objects.create(**data)
print(data)
return JsonResponse({'status': 1})

def handle_page(self, page, object_list):
paginator = Paginator(object_list, self.paginate_by, 1)
try:
paginator_data = paginator.page(page)
except PageNotAnInteger:
paginator_data = paginator.page(1)
except EmptyPage:
paginator_data = paginator.page(paginator.num_pages)
return paginator_data

def get(self, request, *args, **kwargs):
pk = kwargs.get('pk')
if pk:
try:
instance = self.model.objects.get(pk=pk)
return render(request, 'get_classes.html', {'cls': instance})
#return render(request, self.template_detail, instance.to_dict) except self.model.DoesNotExist:
return JsonResponse({'data':'id {} not exits'.format(pk)})
object_list = self.get_queryset()
page = request.GET.get('page',1)
paginator_data = self.handle_page(page, object_list)
search = request.GET.get('search', '')
return render(request, self.template_name, {'paginator_data': paginator_data, 'search': search})








【文章原创作者:阿里云代理 http://www.558idc.com/aliyun.html处的文章,转载请说明出处】
网友评论