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>
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})