python和ajax和json
python网页做ajax效果的时候页面到视图得到返回值的时候如果值是实体对象(models)的话怎么样才能直接回传实体我用json传的实体对象应该可以转换json类型吧...
python 网页做ajax效果的时候 页面到视图得到 返回值的时候 如果值是实体对象(models)的话 怎么样才能直接回传实体 我用json传的 实体对象应该可以转换json类型吧 要不表里面很多字段都要重新循环转换成字典
当然 我知道这么手写能转换过去 但是有没有直接转换的代码
把那个models 直接换成json 类型 models 里面有很多字段 而且还不是一个表 如果不能转 手写很累 展开
当然 我知道这么手写能转换过去 但是有没有直接转换的代码
把那个models 直接换成json 类型 models 里面有很多字段 而且还不是一个表 如果不能转 手写很累 展开
展开全部
ajax是属于template里面的一个异步请求而已,如果你在views里面传回来是你说的“实体对像(models)”的话,我就有点搞不明白了。。。
不知道你在那个view方法直接return的是什么?
如果使用json处理对象的话请使用:
from django.http import HttpResponse
from models import mymodels
import simplejson
...
def ajax(request):
a = mymodels.objects.all()[0]
'''
此处假设a中有name、age参数
model对象是不能直接作为json可以处理,必须先转换为dict类型
'''
result = {}
result['name'] = a.name
result['age'] = a.age
result = simplejson.dumps(result)
return HttpResponse(result)
此时用ajax访问这个试图返回的内容就是:
{"name":"Jim Green","age":"14"}
上面这种办法不是很好,建议先写一个template模板专门来显示此model内容。
假设模板ajax.html的内容为:
===================ajax.html===============
name: {{a.name}}<br />
age: {{a.age}}
=======================================
views视图如下:
from django.http import HttpResponse
from models import mymodels
from django.shortcuts import render_to_response
...
def ajax(request):
a = mymodels.objects.all()[0]
return render_to_response("ajax.html",{"a":a})
此时用ajax访问这个视图返回的内容就是:
name: Jim Green
age: 14
以上的代码可能会有错误,因为是随手写的,希望能够帮到你
====修改了一下====
模板文件名打错了。。。
修改了一下就到了楼上的下面了,楼上你也太没水准了。直接复制
=====修改=====
使用model.__dict__属性可以获得字典,希望能帮到你
不知道你在那个view方法直接return的是什么?
如果使用json处理对象的话请使用:
from django.http import HttpResponse
from models import mymodels
import simplejson
...
def ajax(request):
a = mymodels.objects.all()[0]
'''
此处假设a中有name、age参数
model对象是不能直接作为json可以处理,必须先转换为dict类型
'''
result = {}
result['name'] = a.name
result['age'] = a.age
result = simplejson.dumps(result)
return HttpResponse(result)
此时用ajax访问这个试图返回的内容就是:
{"name":"Jim Green","age":"14"}
上面这种办法不是很好,建议先写一个template模板专门来显示此model内容。
假设模板ajax.html的内容为:
===================ajax.html===============
name: {{a.name}}<br />
age: {{a.age}}
=======================================
views视图如下:
from django.http import HttpResponse
from models import mymodels
from django.shortcuts import render_to_response
...
def ajax(request):
a = mymodels.objects.all()[0]
return render_to_response("ajax.html",{"a":a})
此时用ajax访问这个视图返回的内容就是:
name: Jim Green
age: 14
以上的代码可能会有错误,因为是随手写的,希望能够帮到你
====修改了一下====
模板文件名打错了。。。
修改了一下就到了楼上的下面了,楼上你也太没水准了。直接复制
=====修改=====
使用model.__dict__属性可以获得字典,希望能帮到你
展开全部
ajax是属于template里面的一个异步请求而已,如果你在views里面传回来是你说的“实体对像(models)”的话,我就有点搞不明白了。。。
不知道你在那个view方法直接return的是什么?
如果使用json处理对象的话请使用:
from django.http import HttpResponse
from models import mymodels
import simplejson
...
def ajax(request):
a = mymodels.objects.all()[0]
'''
此处假设a中有name、age参数
model对象是不能直接作为json可以处理,必须先转换为dict类型
'''
result = {}
result['name'] = a.name
result['age'] = a.age
result = simplejson.dumps(result)
return HttpResponse(result)
此时用ajax访问这个试图返回的内容就是:
{"name":"Jim Green","age":"14"}
上面这种办法不是很好,建议先写一个template模板专门来显示此model内容。
假设模板ajax.html的内容为:
===================ajax.html===============
name: {{a.name}}<br />
age: {{a.age}}
=======================================
views视图如下:
from django.http import HttpResponse
from models import mymodels
from django.shortcuts import render_to_response
...
def ajax(request):
a = mymodels.objects.all()[0]
return render_to_response("ajax.html",{"a":a})
此时用ajax访问这个视图返回的内容就是:
name: Jim Green
age: 14
模板文件名打错了。。。
修改了一下就到了楼上的下面了,楼下的你也太没水准了。直接复制
不知道你在那个view方法直接return的是什么?
如果使用json处理对象的话请使用:
from django.http import HttpResponse
from models import mymodels
import simplejson
...
def ajax(request):
a = mymodels.objects.all()[0]
'''
此处假设a中有name、age参数
model对象是不能直接作为json可以处理,必须先转换为dict类型
'''
result = {}
result['name'] = a.name
result['age'] = a.age
result = simplejson.dumps(result)
return HttpResponse(result)
此时用ajax访问这个试图返回的内容就是:
{"name":"Jim Green","age":"14"}
上面这种办法不是很好,建议先写一个template模板专门来显示此model内容。
假设模板ajax.html的内容为:
===================ajax.html===============
name: {{a.name}}<br />
age: {{a.age}}
=======================================
views视图如下:
from django.http import HttpResponse
from models import mymodels
from django.shortcuts import render_to_response
...
def ajax(request):
a = mymodels.objects.all()[0]
return render_to_response("ajax.html",{"a":a})
此时用ajax访问这个视图返回的内容就是:
name: Jim Green
age: 14
模板文件名打错了。。。
修改了一下就到了楼上的下面了,楼下的你也太没水准了。直接复制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的是什么框架?Django?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询