1.数据返回 一种是views里面返回数据 但是这种数据没办法自定义
2.直接在类里面定义@property 针对对象进行自定义
class ApiIdc(View):
def get(self,request,*args,**kwargs):
pk = kwargs.get('pk')
if pk:
obj = Idcc.objects.get(id=pk)
data = obj.to_dict
else:
idcs = Idcc.objects.all()
data = {'data':[s.to_dict for s in idcs]}
return JsonResponse(data)
class ApiIdc(View):
def get(self,request,*args,**kwargs):
pk = kwargs.get('pk')
if pk:
data = Idcc.objects.filter(id=pk)
else:
data = Idcc.objects.all()
print(data)
idcdata = data.values()
print(idcdata)
resdata = {'data':[s for s in idcdata]}
print(resdata)
return JsonResponse(resdata)
class Idcc(models.Model):
name = models.CharField(max_length=20)
address = models.CharField(max_length=20)
@property
def to_dict(self):
ret = dict()
for attr in [f.name for f in self._meta.fields]:
value = getattr(self, attr,None)
ret[attr] = value
return ret
def __str__(self):
return self.name
class Meta:
verbose_name="机房"
// 点击创建机房按钮
$('#create_btn').click(function () {
var name = $('#create_name').val()
var address = $('#create_address').val()
var remark = $('#create_remark').val()
var data = {name:name, address:address, remark:remark}
type = 'POST' // GET,POST,DELETE,PUT, ...
url = '/cmdb/idcs/'
$.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(){
//显示错误信息
},
})
})
$('.btn-delete').click(function () {
id = $(this).attr('btn-id')
url = '/cmdb/idcs/' + id
type = 'DELETE'
data = {}
$.ajax({
type: type,
url: url,
data: data,
dataType: "json",
success: function(data){
//逻辑
console.log(data)
location.reload()
},
error: function(){
//显示错误信息
},
})
})
$('.btn-modify').click(function () {
$('#modify_modal').modal()
var id = $(this).parents('tr').children('td').eq(0).text().trim()
var name = $(this).parents('tr').children('td').eq(1).text()
var address = $(this).parents('tr').children('td').eq(3).text()
var remark = $(this).parents('tr').children('td').eq(4).text()
$('#modify_id').attr('value', id)
$('#modify_name').attr('value', name)
$('#modify_address').attr('value', address)
$('#modify_remark').attr('value', remark)
})
$('#modify_btn').click(function () {
var name = $('#modify_name').val()
var address = $('#modify_address').val()
var remark = $('#modify_remark').val()
var id = $('#modify_id').val()
var data = {name:name, address:address, remark:remark}
type = 'PUT' // GET,POST,DELETE,PUT, ...
url = '/cmdb/idcs/' + id
$.ajax({
type: type,
url: url,
data: data,
dataType: "json",
success: function(data){
//逻辑
status = data.status
if (status == 1){
location.reload()
} else if (status == 0){
alert('名称重复')
}
},
error: function(){
//显示错误信息
},
})
})
re_path(r'^api_racks/(?P<pk>\d+)?/?$', APIRackView.as_view()),
re_path(r'^servers/(?P<pk>\d+)?/?$', ServerView.as_view()),